我想将一个变量从JavaScript发送到另一个HTML页面并重定向到该页面,但是我不能使用forms,因为第一页完全是用JavaScript和.js文件所以我可以' t声明一个表格。我也无法使用URL,因为我的数据太大了。还有什么其他选择?我发现的每个教程都使用表单或URL。还有其他选择吗?
基于this answer,我使用了以下代码:
function post(array) {
var method = "post";
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", "helloworld.html");
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", "array");
hiddenField.setAttribute("value", array);
form.appendChild(hiddenField);
document.body.appendChild(form);
form.submit();
}
我在另一种方法中调用post(参数)。
它成功地重定向到helloworld.html,但是如何获得我传递的变量?
答案 0 :(得分:0)
您可以通过JavaScript发出HTTP请求:
// jQuery
$.get("demo_test.asp", function(data, status){
// do something
});
jQuery文档位于here
答案 1 :(得分:0)
您可以使用jQuery ajax API并通过POST请求发送数据。看更多: here 或here
编辑:oops,我没有注意到你没有启用任何服务器端处理程序。在这种情况下,如果您不想使用表单,可以使用jQuery.param()处理get / url参数或使用某些路由启用库。
答案 2 :(得分:0)
您可以将数据保存在localStorage
中,如果第二页位于同一个域中。数据必须是字符串。
第一页:
function sendData(){
localStorage.setItem("data", data);
location.href = "helloworld.html";
}
保存数据。
第二页:
function onLoad(){
var data = storage.getItem("data");
}
阅读数据。
可选强>
您还可以创建一个JSON对象并使用函数JSON.stringify