如果数据类型' json'已指定

时间:2017-04-10 09:01:04

标签: jquery json

我有以下jQuery代码:

$.post('php/php_result.php', {'functions':'getpersonaldetails','theuserid':data1}, function(data3, status3) {
    var personalDetails = JSON.parse(data3)[0];
    alert(personalDetails.last_name);           
},'json');

上面的代码有Syntax Error: JSON.parse: unexpected chacter at line1 column 2 of the JSON data。如果我删除数据类型json,则alert可以正常工作。

我的PHP:

$queryStmt = "SELECT merch_id, last_name, first_name, middle_name, birthday, contact_no, address FROM merchandiser WHERE merch_id=:userId";
$queryPrepare = $dba_connect->prepare($queryStmt);
$queryPrepare->execute(array(':userId'=>$_POST['theuserid']));
$queryResult = $queryPrepare->fetchAll(PDO::FETCH_ASSOC);
$queryPrepare->closeCursor();
$jsonResponse = json_encode($queryResult);
echo $jsonResponse;

当我将json指定为我的数据类型时,为什么会出错?

1 个答案:

答案 0 :(得分:1)

如果你指示jQuery期待JSON,它将decode it for you automatically

  

"json"将响应评估为JSON并返回JavaScript   对象即可。除非,否则跨域"json"请求将转换为"jsonp"   请求在其请求选项中包含jsonp:false。 JSON   数据以严格的方式解析;任何格式错误的JSON都被拒绝了   抛出了一个解析错误。

因此再次解析它不会起作用。

让框架为你完成工作。