执行ajax成功函数 - jQUERY

时间:2015-04-08 15:30:34

标签: javascript jquery json

我已经四处寻找这个错误,但没有一个解决方案可以帮助我解决这个问题。我正在做一个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(数据)工作。如果我添加它我得到上面提到的错误。

2 个答案:

答案 0 :(得分:3)

这一行:

dataType: 'json',

告诉jQuery忽略服务器返回的内容类型,并始终将响应解析为JSON。

然后:

success: function(data){

您从解析JSON获得的JavaScript值(它是一个对象)将传递到data

这一行:

jQuery.parseJSON(data);
  1. data(对象)
  2. 的值
  3. 将其转换为字符串(将为"[object Object]"
  4. 尝试将该字符串解析为JSON(它不是)。
  5.   

    然后我可以让console.log(数据)工作。如果我添加它我得到上面提到的错误。

    是。这是预期的行为。不要那样做。只需使用data中已解析的数据。

答案 1 :(得分:2)

有一个解析错误,因为数据已经是一个对象所以它期待json并获得Object。 ' O'是意想不到的性格。尝试不使用parseJSON函数。