![](/img/trans.png)
[英]How to disable browser back button using javascript/jquery when we have POST form data
[英]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.