概述
我目前正在开发一个jQuery / HTML5项目,该项目使用内部API检索数据,使用一系列图表显示Web性能数据。 API由Yii提供支持,但我不是在努力,所以我不能自己更改或试验它。
基本上我希望有人可以帮助确定API是问题的根本原因,还是我的jQuery中的Ajax问题不正确。
我的申请流程的一个小解释......
问题
所有Ajax调用都是对跨域进行的,因为项目和API都位于不同的子域中。这些是使用JSONP和jQuery回调完成的。
我遇到的问题是,当我需要验证密钥是否有效时,如果它不再有效,API会返回401错误,我的Ajax没有注册。如果我在Firefox中查看API URL,我可以看到返回的Json数据,包含在回调中,但是当我检查firebug时它说有一个请求,但没有响应。
基本上,当API返回的数据不是200 OK时,它根本不会发送响应头。
但是,我已在终端中使用cUrl手动调用API,并且已收到响应标头以及Google Chrome。
如果有人可以告诉我这是否是Firefox / jQuery的一个众所周知的问题,或者如果这是Yii API的问题我会非常感激。
答案 0 :(得分:-1)
尝试在ajax调用之前添加:
jQuery.support.cors = true; // force cross-site scripting in IE