Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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/1/php/227.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 无法在1.10.2/jquery.min.js下执行JSON.parse()_Javascript_Php_Jquery_Json - Fatal编程技术网

Javascript 无法在1.10.2/jquery.min.js下执行JSON.parse()

Javascript 无法在1.10.2/jquery.min.js下执行JSON.parse(),javascript,php,jquery,json,Javascript,Php,Jquery,Json,如果应用1.3.2/jquery.min.js而不是1.10.2/jquery.min.js,那么使用JSON.parse解析PHP数组返回是可行的,有人有类似的经验和解决方案吗 PHP数组返回 $returnArray['vercode'] = FALSE; echo json_encode($returnArray); AJAX调用 $.ajax({ cache: false, type: "POST", dataType: "json", data: $(

如果应用1.3.2/jquery.min.js而不是1.10.2/jquery.min.js,那么使用JSON.parse解析PHP数组返回是可行的,有人有类似的经验和解决方案吗

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");
    }
});

首先,解析字符串HttpRequest.response,删除引号。然后,当您将数据类型设置为json时,您不必解析它来获得数组

$.ajax({
    cache: false, 
    type: "POST", 
    dataType: "json",
    data: $('#form1').serialize(),
    url: $('#form1').attr('action'),
    complete: function (HttpRequest, textStatus) {
        $obj = HttpRequest.response;
  }});
改用:

$obj = JSON.parse(HttpRequest.response);
$obj = JSON.parse(HttpRequest.responseText);
JSON.parseHttpRequest.response;将给您一个错误,因为您试图解析字符串:HttpRequest.response

另外,您可能不需要使用JSON.parse,因为jQuery已经使用dataType:JSON:

应改为使用:

$obj = JSON.parse(HttpRequest.response);
$obj = JSON.parse(HttpRequest.responseText);

HttpRequest.response与HttpRequest.responseText相同,如果未将数据类型指定为json,则为罚款,但属性不正确

为什么要解析解析的数据类型?