2013-02-07 93 views
0

可能的使用$.ajax没有?callback=

我试图得到这个URL http://gbrds.gbif.org/registry/organisation/15b278a8-1356-4f7b-ba32-3c733c3d0aac.json?op=contacts的JSON响应,但在请求中,jQuery将?callback=添加到了url中,因此得到了不同的结果。

请求是远程域:

 $.ajax({ url: encodeURI("http://gbrds.gbif.org/registry/organisation/15b278a8-1356-4f7b-ba32-3c733c3d0aac.json?op=contacts"), 
    dataType: 'jsonp', 
    type: 'GET', 
    success: function(data){...}); 
+5

$ .ajax不一定需要回调,但使用jsonp。这是使用jsonp的一点。 http://en.wikipedia.org/wiki/JSONP – jszpila

回答

0

是的,这是可能的 - 但是,你必须有一个支持CORSCross-Origin Resource Sharing)浏览器,你需要确保服务器设置通过发送一个Access-Control-Allow-Origin HTTP标头来允许至少来自您的域的请求。一旦你有这两个,这是一个简单的事情,将dataTypejsonp更改为json