jQuery 不会从 AJAX 查询解析我的 JSON [英] jQuery won't parse my JSON from AJAX query

查看:25
本文介绍了jQuery 不会从 AJAX 查询解析我的 JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用 jQuery.ajax() 解析从我的服务器返回的一些 JSON 数据时遇到困难

I'm having difficulty parsing some JSON data returned from my server using jQuery.ajax()

要执行我正在使用的 AJAX:

To perform the AJAX I'm using:

$.ajax({
  url: myUrl,
  cache: false,
  dataType: "json",
  success: function(data){
    ...
  },
  error: function(e, xhr){
    ...
  }
});  

如果我返回一组项目,那么它工作正常:

And if I return an array of items then it works fine:

[ { title: "One", key: "1" }, { title: "Two", key: "2" } ]

调用成功函数并接收正确的对象.

The success function is called and receives the correct object.

但是,当我尝试返回单个对象时:

However, when I'm trying to return a single object:

{ title: "One", key: "1" } 

错误函数被调用,xhr 包含'parsererror'.在通过网络发送之前,我尝试将 JSON 包装在服务器上的括号中,但没有任何区别.然而,如果我将内容粘贴到 Javascript 中的字符串中,然后使用 eval() 函数,它会完美地评估它.

The error function is called and xhr contains 'parsererror'. I've tried wrapping the JSON in parenthesis on the server before sending it down the wire, but it makes no difference. Yet if I paste the content into a string in Javascript and then use the eval() function, it evaluates it perfectly.

知道我做错了什么吗?

安东尼

推荐答案

您的服务器是否以 Content-Type "*/json" 的形式发送数据?如果没有,请相应地修改响应标头.例如,发送 "application/json" 就可以了.

Is your server sending data as Content-Type "*/json"? If not, modify the response headers accordingly. Sending "application/json" would be fine, for example.

这篇关于jQuery 不会从 AJAX 查询解析我的 JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆