簡體   English   中英

使用javascript / jquery檢索發布數據

[英]Retrive post data back using javascript/jquery

我想僅使用客戶端腳本(javascript)將對象傳遞到新頁面,並且我想在加載新頁面時讀回數據,但是我找不到任何教程或方法來獲取它。

function postToURL(path, parameters) {
    var form = $('<form></form>');

    form.attr("method", "post");
    form.attr("action", path);

    $.each(parameters, function(key, value) {
        var field = $('<input></input>');

        field.attr("type", "hidden");
        field.attr("name", key);
        field.attr("value", value);

        form.append(field);
    });

    // The form needs to be a part of the document in
    // order for us to be able to submit it.
    $(document.body).append(form);
    form.submit();
}

瀏覽器未將發送到服務器以檢索當前頁面的POST消息公開給該頁面中的JavaScript,因此您無法這樣做。

通過其他某種技術(例如,通過URL或localstorage)傳遞數據。

是的,POST數據只能由服務器端(例如PHP)處理和查看。 Javascript位於客戶端,因此除非POST數據首先傳遞到服務器端,然后服務器端又將其交給客戶端(例如Javascript),否則它將永遠無法看到該數據。

考慮在上面的代碼中使用GET作為您的方法,以便您可以在實際URL中傳遞參數,以使其可被瀏覽器/客戶端/ Javascript訪問。

可以從JSON編碼的字符串中解析parameters 如果您通過編程方式(在上一步中)構建參數,例如:

parameters = {};
parameters['USA'] = 'Washington DC';
parameters['UK'] = 'London';

您可以通過以下方式創建表示您的結構化數據的平面JSON字符串:

parametersString = JSON.stringify(parameters);

最后是這樣的:

"{'USA': 'Washington DC', 'UK': 'London'}"

您可以將此字符串存儲在Cookie或URL的查詢字符串片段部分中。

您的下一頁可以在下一頁上讀回此值,並通過解碼JSON字符串來重新創建結構化參數,例如:

parameters = JSON.parse(parametersString);

您將獲得原始數據,可以在其上運行JQuery的each

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM