我已经四处寻找这个错误,但没有一个解决方案可以帮助我解决这个问题。我正在做一个ajax请求,我正在尝试检索服务器发布的json输出。我可以打印出我想要捕获的json(通过console.log())而不是在jQuery.parsejson()中处理它。我一直得到一个" Uncaught SyntaxError:Unexpected token o"错误。有人可以建议吗?
我的代码:
// Make ajax request
$.ajax({
url: 'http://localhost/multipleFileUpload_adam/webservice/delete_pdf.php',
data: {delete_array: jsonString},
dataType: 'json',
type: 'POST',
success: function(data){
console.log(data);
var x = jQuery.parseJSON(data);
},
console.log(data)给出以下内容(我正在尝试检索' success_deleted'数组:
Object {success_delete: Array[2], unsuccess_delete: Array[0], input array: Object}
如果我删除了代码行:
var x = jQuery.parseJSON(data);
然后我可以让console.log(数据)工作。如果我添加它我得到上面提到的错误。
答案 0 :(得分:3)
这一行:
dataType: 'json',
告诉jQuery忽略服务器返回的内容类型,并始终将响应解析为JSON。
然后:
success: function(data){
您从解析JSON获得的JavaScript值(它是一个对象)将传递到data
。
这一行:
jQuery.parseJSON(data);
data
(对象)"[object Object]"
)然后我可以让console.log(数据)工作。如果我添加它我得到上面提到的错误。
是。这是预期的行为。不要那样做。只需使用data
中已解析的数据。
答案 1 :(得分:2)
有一个解析错误,因为数据已经是一个对象所以它期待json并获得Object。 ' O'是意想不到的性格。尝试不使用parseJSON函数。