Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过URL传递JSON_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript 通过URL传递JSON

Javascript 通过URL传递JSON,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有两个html文件,我们的任务是在这两个文件之间传递数据。然后我想到了使用散列通过URL发送数据,并解析这个链接,比如JSON.parse(window.location.hash.slice(1))并将其分配给局部变量。这对夫妇来说似乎很管用。但当我用代码填充我的JS文件时,就会发生错误。你能告诉我我能做什么吗。?以下是控制台错误。顺便说一下,我正在使用jquery 谢谢大家! JSON包含许多在URL中不合法的字符 解决此问题的一种简单方法是使用Base64对JSON数据进行简单编码。您

我有两个html文件,我们的任务是在这两个文件之间传递数据。然后我想到了使用散列通过URL发送数据,并解析这个链接,比如
JSON.parse(window.location.hash.slice(1))并将其分配给局部变量。这对夫妇来说似乎很管用。但当我用代码填充我的JS文件时,就会发生错误。你能告诉我我能做什么吗。?以下是控制台错误。顺便说一下,我正在使用jquery


谢谢大家!

JSON包含许多在URL中不合法的字符


解决此问题的一种简单方法是使用Base64对JSON数据进行简单编码。

您可以使用最新的方法从一个页面访问另一个页面:

//第一页

storage["key"]=data;
//第二页

var value= storage["key"];

我认为jQuery.param是您所需要的,它将Json转换为URL字符串


从长远来看,这是行不通的。URL限制为大约2000个字符

您必须对json进行base64编码,才能将其保存在URL中。这会消耗很多可用字符

在执行POST请求时,您不会受到相同的限制,但是HTML页面无法访问POST请求

您可能希望查看postMessage,并将一个页面嵌入iframe中的另一个页面中,以进行交叉通信


此外,如果URL位于同一个域上,则只需使用本地或会话存储

这个错误看起来像是您试图在jQuery选择器中使用JSON,它包含许多需要转义的无效字符。我强烈建议您不要通过URL发送JSON。发送一个普通的查询字符串,或者将JSON放入
localStorage
中,并在需要datalocalStorage的页面上访问它,它可以保存任何类型的数据。没错。您可以将对象本身直接存储在本地存储中,这将节省您不得不序列化/反序列化Itf如果使用LoalStury考虑使用氩来存储和检索数据更容易@ MeIGOS并不是所有的内容都被序列化为一个字符串。我写Argon的一个原因是为了避免这个问题,它兼容所有浏览器。我不熟悉
存储[“key”]=数据是JS内置的吗。?抱歉这么新..是的,存储在localStorage中的数据没有过期时间,存储在sessionStorage中的数据在浏览会话结束时会被清除。我希望您使用它,它支持所有浏览器。那么存储意味着localStorage?