使用ajax从页面发送数据而不使用服务器交互html

时间:2015-07-06 10:21:42

标签: php jquery html ajax json

我想将json对象从第1页发送到第2页而不进行服务器交互我到目前为止尝试的是这样的

从第1页开始我有这段代码

url = '../reports/page2.php?basicinfo=' + encodeURIComponent(JSON.stringify(basicinfo));
window.open(url + "&month=" + month, '_self');
第二页中的

我通过从url获取对象来访问数据。 但我有一个问题。我超过The requested URL's length exceeds the capacity limit for this server.所以我想尝试使用ajax我可以尝试的是

var url = '../reports/page2.php; var basicinfo = JSON.stringify(basicinfo)

$.ajax({
    type: 'POST',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: {
        action: "page2",basicinfo:'basicinfo '

    },
    complete: function() {
        window.location = url;
    }
}); 

我被引导到正确的页面我的问题是我现在无法获取数据。

3 个答案:

答案 0 :(得分:1)

为此,您可以使用localstorage将您的json保存在localstorage变量中并随时获取

localStorage.setItem('favoriteflavor','vanilla'); /*how to save data in localstorage*/
var taste = localStorage.getItem('favoriteflavor');/*how to fetch data from localstorage*/
alert(taste);
localStorage.removeItem('favoriteflavor');/*how to delete data from localstorage*/

有关详情,请点击here

所以在

之前将所有json保存在localstorage变量中
window.location = url;

在您的ajax complete部分,并在重定向后获取localstorage数据(即在此页url上)

如果您不想使用jquery变量来保证数据安全。然后唯一可能的方法是使用cookie。 这是堆栈上的链接,您可以在其中查看如何使用jquery how to save data in a cookie using jquery

创建cookie

答案 1 :(得分:0)

尝试将此内容写入文件并从弹出窗口中读取。 http://php.net/manual/en/function.file-put-contents.php http://php.net/manual/en/function.file-get-contents.php

答案 2 :(得分:0)

HTTP是无状态协议。当您重定向到另一个页面时 - 它是新请求,前一页的数据将丢失。 在页面之间共享数据需要存储数据(来自第一个ajax请求),例如在会话中,并从第二页的会话中恢复数据。