如果我使用JSON.parse()来解析PHP数组返回,如果应用1.3.2 / jquery.min.js而不是1.10.2 / jquery.min.js,那么这是有用的吗,有没有人有类似的经验和溶液
PHP数组返回
$returnArray['vercode'] = FALSE;
echo json_encode($returnArray);
AJAX调用
$.ajax({
cache: false,
type: "POST",
dataType: "json",
data: $('#form1').serialize(),
url: $('#form1').attr('action'),
complete: function (HttpRequest, textStatus) {
$obj = JSON.parse("HttpRequest.response");
}
});
答案 0 :(得分:4)
首先,解析字符串“HttpRequest.response”,删除引号。然后,当您将dataType设置为“json”时,您不必解析它以获取数组。
$.ajax({
cache: false,
type: "POST",
dataType: "json",
data: $('#form1').serialize(),
url: $('#form1').attr('action'),
complete: function (HttpRequest, textStatus) {
$obj = HttpRequest.response;
}});
答案 1 :(得分:3)
改为使用:
$obj = JSON.parse(HttpRequest.response);
JSON.parse("HttpRequest.response");
会因为您尝试解析字符串而导致错误:"HttpRequest.response"
。
此外,您可能不需要使用JSON.parse()
,因为jQuery已使用dataType: "json"
解析了内容:
$obj = HttpRequest.response;
答案 2 :(得分:0)
应改为使用:
$obj = JSON.parse(HttpRequest.responseText);
HttpRequest.response与HttpRequest.responseText相同,如果没有将dataType指定为json但不正确属性(http://www.w3schools.com/ajax/ajax_xmlhttprequest_response.asp)