json_encode使用 jquery.get() 发布数据时将数组作为字符串返回
json_encode returns array as a string when posting data with jquery.get()
你好,我在jquery中的ajax请求有问题。
当我使用我的 get 请求而不发送任何数据时,响应符合预期,我收到我的数组并可以访问以下值:
$.get(
loadUrl,
function(data) {
useReturnData(data);
},
"json"
);
function useReturnData(data){
leftPlayer = data;
alert(leftPlayer[4]);
};
这按预期工作,我收到我的值"528"是我的左玩家[4]值。
但是当我更改请求以在请求中将一段数据发送到php时,如下所示:
$.get(
loadUrl,
{ type: "left" })
.done(function(data) {
useReturnData(data);
},
"json"
);
function useReturnData(data){
leftPlayer = data;
alert(leftPlayer[4]);
};
我收到的数据似乎是 javascript 的字符串格式。我的警报打印"5"(如果数组是字符串,则为第 4 个字符(
提醒左玩家时。我发现在我未发送数据的第一个请求中,变量打印为:355,355,355,355,528,等等......
而在我确实发送数据的第二个请求中,它打印为:
[355,355,355,355,528等]
请注意 []。它不被识别为数组。
它访问的 php 文件在每个请求中绝对没有变化,因为我目前正在测试。发送的数据目前甚至没有在 php 文件中使用。
有什么想法我哪里出错了吗?
我已经解决了我的问题。
就像"nnnnnn"在他的评论中所说的那样,我将我的"json"参数传递给 .done(( 函数而不是 $.get(( 函数。
我似乎无法让它正确地将其视为 JSON,所以我使用了最简单的方法:
$.getJSON(
loadUrl,
{ type: "left" },
function(data) {
useReturnData(data);
}
);
function useReturnData(data){
leftPlayer = data;
alert(leftPlayer[4]);
};
相反,使用 $.getJSON 会喜欢它所说的,并期望 JSON 作为默认值返回。
相关文章:
- 对象数组返回自最近日期以来的最高总体值
- 从多维数组返回嵌套数组
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- 如何将 AJAX 响应作为 JavaScript 数组返回
- 我正在尝试在 JS 中制作这个随机名称生成器.数组返回未定义
- .push() 多个对象进入 JavaScript 数组返回 'undefined'
- 如何按属性从可观察数组返回项
- 通过jquery发送的关联php数组返回[对象对象]
- 从 Javascript 中的对象数组返回单个属性的数组
- 循环遍历对象数组返回“未定义”
- 拼接数组返回空的序列
- Javascript 多维数组返回第一个值,然后失败
- Json 数组返回空值
- 从下划线.js中的数组返回一系列值
- for 语句不从数组返回值
- MongoDB从数组返回特定字段
- 试图将数组返回到表中的列表中
- Javascript中的二维数组返回未定义的数组
- 将函数数组作为布尔值数组返回