Javascript getJson回调不起作用(这是什么问题?)
Javascript getJson回调不起作用(这是什么问题?)
我正在尝试使用一个需要使用基本HTTP身份验证来获取Json的API。我对JavaScript不是很精通。
我目前的代码是:
我希望这将调用成功或错误之一。所以输出应该是一个弹出窗口显示“done”,或者一个弹出窗口显示“no”。或者在开发者控制台中显示错误信息。
我没有得到任何东西,两个弹出窗口都没有显示,而且控制台也没有错误。这里发生了什么?
谢谢,
编辑:使用Firebug,我看到请求头如下:
请求头显示为:
OPTIONS /api/KIS/Institutions.JSON?pageIndex=1&pageSize=25 HTTP/1.1
Host: data.unistats.ac.uk
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Origin: null
Access-Control-Request-Method: GET
Access-Control-Request-Headers: authorization
Connection: keep-alive
这似乎不正确,应该是:
Authorization: basic TheSecurityKey
响应是405,方法不允许
重新加载页面以获取源代码:http://data.unistats.ac.uk/api/KIS/Institutions.JSON?pageIndex=1&pageSize=25
响应头:
HTTP/1.1 405 Method Not Allowed
Cache-Control: private
Allow: GET
Content-Length: 1725
Content-Type: text/html; charset=UTF-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 16 Aug 2013 21:00:11 GMT
当我尝试从我设置的服务器上进行时
可以在这里看到:
http://spindroid.co.uk/tt/byUniversity.html
部分解决方案
使用jsonp它会接收到响应,但头部没有附加,所以我缺少身份验证。