javascript - 我的 JSON 字符串未通过 HTTP GET 请求接收完整

标签 javascript php json

当我将数组发送到我的 php 文件时,它不完整地接收到 php 文件。 我的 arr 变量是:

[["╪▒┘à┘╛┘╪د","67126881188552864","Empty,Empty,Empty,Empty,8644,-360,-4,8691,-3
.48,-313,1015,4.334 M,1392/12/28,12:30:08,3.99 M,10 B,10%,530,16.4,16.38,┘à╪ش╪د╪
▓,7,3130,8644,1,50,5000, , , ,8644,11553,359,307,8645,1,1,8655,11
030,2,┌»╪▒┘ê┘ç ┘à┘╛┘╪د (╪│┘ç╪د┘à┘è ╪╣╪د┘à) (╪▒┘à┘╛┘╪د),╪ذ╪د╪▓╪د╪▒ ╪د┘ê┘ (╪ز╪د
╪ذ┘┘ê┘è ╪د╪╡┘┘è) ╪ذ┘ê╪▒╪│ ,connOK"]]

我使用 HTTP GET 请求发送数据,如下所示

    var myJsonString = JSON.stringify(arr);

    page.open('http://localhost/bptest/danger/get.php?data='+myJsonString,function(status){
            console.log("Page opened");
            if (status !== 'success') {
                console.log('FAIL');
            } else {
                console.log("REPLY FROM SERVER:");
                console.log(page.content);
            }});

我的简单 php 文件的代码如下:

<li><?php echo $_GET["data"]; ?></li>

并且 php 得到的是这样的:

[["?????","67126881188552864","Empty,Empty,Empty,Em
pty,8644,-360,-4,8691,-3.48,-313,1015,4.334 M,1392/12/28,12:30:08,3.99 M,10 B,10
%,530,16.4,16.38,????,7,3130,8644,1,50,5000,

为什么从 php 接收时会崩溃以及如何解决这个问题

最佳答案

您必须使用encodeURI() 对 json 字符串进行编码。

请参见此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI .

关于javascript - 我的 JSON 字符串未通过 HTTP GET 请求接收完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22584875/

相关文章:

javascript - Angular JS Promises with $http——循环返回的数据

javascript - 可以 :key be used without v-for in VUE?

javascript - 使用 wikipedia api contentmodel 返回未知的 mustache 大括号

java - 如何使用 Google 的 GSON 解析 JSON 无效标识符?

ios - 带有 Mantle 的嵌套对象映射 - Obj-c

javascript - 为什么我的递归函数调用没有返回值?

javascript - 与 hammer.js 的 Knockout 绑定(bind)

php - Wordpress get_users() 通过比较查询返回所有用户

php - 可以用 php 代码清除浏览器缓存吗?

php - 我如何在 doctrine 2 实体的存储库中使用复杂的标准?