javascript - 执行 ajax 成功函数 - jQUERY

标签 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(data) 工作了。如果我添加它,我会得到上面提到的错误。

最佳答案

这一行:

dataType: 'json',

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

然后:

success: function(data){

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

这一行:

jQuery.parseJSON(data);
  1. 获取data(一个对象)的值
  2. 将其转换为字符串(将是 [object Object]")
  3. 尝试将该字符串解析为 JSON(事实并非如此)。

Then I am able to get the console.log(data) to work. if i add it i get the error mentioned above.

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

关于javascript - 执行 ajax 成功函数 - jQUERY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29518994/

相关文章:

javascript - 如何在 three.js 中绘制两个朝我移动的矩形?

c++ - Json 将 Vector<Class> 序列化为 json 数组 (nlohmann/json.hpp)

java - 在 java 中读取一个 JSON 对象

c# - javascript 服务器标签格式不正确

javascript - 如何使用 jquery 移动按钮并通过效果/动画方法查看它?

javascript - 如何使用 ReactJS 向表添加新元素

javascript - 让 Webpack 在构建时警告缺少包

jquery - 蒙皮脚本可以在 fiddle 中运行,但不能实时运行

javascript - Sumo 选择删除所有索引并重置

c# - 无法从 Json 对象获取数据