JSON不会使用数组外的变量进行解析

时间:2019-01-25 11:13:24

标签: javascript php arrays json

我不明白为什么我的JSON无法解析。我希望有人可以向我解释。我尝试将JSON从PHP发送到JavaScript。

此代码可以正常工作:

从PHP

echo json_encode(array($row['jobunique'], $row['jobtitle']));

到JavaScript

success: function(getjoblist) {

        var getjobdetails = $.parseJSON(getjoblist); 
}

但是此代码给了我一个错误:

从PHP-数据来自数组

echo json_encode(array($data[2], $data[3]));

我想,也许这是一个对象,我需要从像这样的变量中创建一个字符串:

echo json_encode(array(strval($data[2]), strval($data[3])));

但是它也不起作用。

这是JavaScript代码:

success: function(callback) {

    var namearray = $.parseJSON(callback);
}

这是控制台中的错误:

  

未捕获到的SyntaxError:JSON在位置0处出现意外令牌

这是网络标签:

picture

1 个答案:

答案 0 :(得分:2)

callback变量已经是一个数组。如果存在JSON特定的标头(内容类型:application / json),则JQuery的AJAX方法会自动解析响应。

尝试在控制台中运行JSON.parse(["Fabi","Squ"]),它将获得相同的错误消息。

http://api.jquery.com/jquery.ajax/上了解有关此内容的更多信息:

dataType (default: Intelligent Guess (xml, json, script, or html)) Type: String The type of data that you're expecting back from the server. If none is specified, jQuery will try to infer it based on the MIME type of the response (an XML MIME type will yield XML, in 1.4 JSON will yield a JavaScript object, in 1.4 script will execute the script, and anything else will be returned as a string).