javascript - 为什么我无法使用 jQuery.parseJSON(json) 解析 json 字符串?

标签 javascript json jquery

我正在尝试解析一个字符串的响应,该字符串是一个 json 字符串。在我的网络应用程序的另一个页面中,以下代码工作正常。但它不适用于我正在使用的当前页面。代码如下:

 $.ajax({
    type: 'POST',
    url: 'http://mywebapp.com/sendnames',
    data: {},
    success: function(result) {
        alert('result: '+result);
        var obj = jQuery.parseJSON(result);
        alert('obj: '+obj);

    // doing rest of stuff  
    }

});

第一个警报出现并显示正确的结果。结果是:

 [
   "Richard",
   "Eric",
   "John"
 ]

但是第二个警报没有出现。 我检查了一下,它是一个有效的 json。为什么我不能用 jQuery.parseJSON() 解析这个 json。提前致谢。

最佳答案

尝试添加返回类型:dataType : json

$.ajax({
        type: 'POST',
        url: 'http://mywebapp.com/sendnames',
        data: {},
        dataType:'json',
        success: function(result) {
          console.log('result: '+result);        
        // doing rest of stuff  
        }

    });

“json”:
将响应评估为 JSON 并返回 JavaScript 对象。在 jQuery 1.4 中,JSON 数据以严格的方式解析;任何格式错误的 JSON 都会被拒绝并引发解析错误。 (有关正确 JSON 格式的更多信息,请参阅 json.org。) “jsonp”:使用 JSONP 加载 JSON block 。添加额外的“?callback=?”添加到 URL 末尾以指定回调。通过将查询字符串参数“_=[TIMESTAMP]”附加到 URL 来禁用缓存,除非缓存选项设置为 true。 http://api.jquery.com/jQuery.ajax/

关于javascript - 为什么我无法使用 jQuery.parseJSON(json) 解析 json 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12211421/

相关文章:

javascript - NodeJS 验证后如何使用 AngularJS 访问用户信息?

javascript - 分配 Javascript 对象属性

android - 将 JSONArray 转换为普通数组

ios - Swift/Firebase - 无法检索输入的数据?

java - 在改造中使用 @Multipart 来包含 @FormUrlEncoded

javascript - 无法在动态对象 jquery 上绑定(bind)事件

javascript - 当 <a> 在另一页上单击并在另一页上打开特定选项卡时如何打开特定选项卡

javascript - 如何通过 Awesomium 库从 javascript 函数返回值?

javascript - 如何显示用户的矩形的外观?

jquery get 方法在 safari 中工作但在 firefox 中不起作用