【问题标题】:jQuery getJSON Never Calls Success Function When SuccessfuljQuery getJSON 成功时从不调用成功函数
【发布时间】:2023-03-30 11:55:01
【问题描述】:

我正在使用 jQuery 从服务器检索 json 数据。服务器使用 json 编码的对象进行响应。问题是,服务器响应后,我的成功函数没有被调用。

这是我的要求:

$('form').on('submit', function(event) {
  event.preventDefault();
  $.getJSON('?getAvailableRoom', function(data, textStatus, jqXHR) {
    alert("Success!"); // doesn't happen
  });
});

这是来自服务器的响应:

Response Headers
Content-Type        application/json
Date                Mon, 09 Jul 2012 20:02:10 GMT
Transfer-Encoding   chunked
Via                 1.1 teleproxy01 (NetCache NetApp/6.0.3P2D5)

Request Headers
Accept  application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Host    XXXXX
Proxy-Connection    keep-alive
Referer XXXXX
User-Agent  Mozilla/5.0 (Windows NT 5.2; rv:13.0) Gecko/20100101 Firefox/13.0.1
X-Requested-With    XMLHttpRequest

Response
{'id':'AsuRC'}

【问题讨论】:

  • 响应的状态码是什么?
  • @alexn:我假设是 200,因为有 JSON 响应。
  • @Rocket 您可以发送所有状态码的正文。
  • @alexn 我假设是 200; FireBug 没有给我响应代码。

标签: javascript jquery ajax json http-headers


【解决方案1】:

您的 JSON 无效。

应该是:

Response
{"id":"AsuRC"} 

【讨论】:

  • 是的,JSON 需要双引号,而不是单引号。
  • 哦...哇。我认为这不是我所做的事情,并且服务器返回了单引号?
  • 服务器返回单引号,是的。
  • @Tanaki:服务器应该返回双引号。 JSON 来自哪里?
  • @Rocket 谢谢;我会保留它以供参考,但我今天想大喊大叫。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 2013-01-13
  • 1970-01-01
  • 2013-02-14
  • 1970-01-01
  • 2013-03-06
相关资源
最近更新 更多