Javascript getJson回调不起作用(这是什么问题?)

18 浏览
0 Comments

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它会接收到响应,但头部没有附加,所以我缺少身份验证。

               

0
0 Comments

JavaScript的getJson回调函数不起作用(这是怎么回事?)

问题出现的原因:getJson方法不接受一个包含设置的对象。应该使用ajax方法代替,并在设置中指定dataType: 'json'。

解决方法:使用$.ajaxSetup()并调用$.getJSON()。

0