我确定我做的事情很愚蠢而且答案非常简单,但我所做的所有搜索都涉及循环数组,我不想要那样做
我有一个ajax调用,它以一个非常简单的数组的形式返回一个响应。在我的ajax调用的成功函数中,如果我这样做:
console.log(response);
阵列按预期记录到控制台。 [0] => 100,[1] => 200等。
如果我尝试:
console.log(response[1]);
我期待得到200,但它什么也没做。我最终想要将值插入到像这样的重定向......
window.location.replace('index.php?id=200');
但我得到的只是" index.php?id ="
请有人让我摆脱痛苦。我做错了什么?
编辑:
更改了PHP以包含以下内容:
exit(json_encode("id"=>$id,"message"=>$message));
返回了一个对象(不是字符串)。
然后在ajax函数的成功部分:
success: function(response) {
window.location.replace('index.php?id=' + response.id + '&message=' + response.message);
}
这......出于某种原因,工作正常。不要问我为什么。
答案 0 :(得分:0)
向PHP和Javascript发送信息的最简单方法是使用JSON。
在PHP中,您可以使用json_encode()
将数组转换为JSON字符串。然后在Javascript中使用JSON.parse()
将字符串转换回对象。
如果您正在使用jQuery进行AJAX请求并且没有dataType
设置它将自动检测它是JSON并为您解析它,这可能是您没有必要的原因。