2012-10-22 185 views
1

我想从使用jQuery的Django服务器获取数据。跨域AJAX请求到Django服务器

这里是我使用的代码:myCode

$(function(){ 
    function callback(res){ 
     console.log(res); 
    } 
    $.ajax({ 
      url: "http://www.chesno.org/ajax/dispatcher/", 
      data: { 
       "data": "{'cmd':'get_party_list'}" 
      }, 
      dataType: 'json', 
      success: callback, 
      complete: callback, 
      crossDomain: true, 
      async: false 
     }); 
    })​ 

有趣的是,我能够通过浏览器或招潮蟹(link),以达到数据。 请给我一个暗示我做错了什么。最重要的部分是我无法访问服务器,我只能与网站的开发人员沟通,他们不知道问题出在哪里。

+2

您将要阅读CORS。除非网站开发者明确允许您的网域查询其内容,否则您将无法以这种方式获取数据。您需要在后端使用jsonp请求或脚本来获取内容。我通常雇用第二 – user1026361

+0

谢谢你的答案。你能给我一个关于如何在我的情况下使用jsonp的例子吗? –

+1

您需要联系开发人员并将其输出包装在jsonp回调中。这个网站应该有助于你更好地理解jsonp:http://json-p.org/。我通常使用我的第二个选项,因为其他网站需要参与 – user1026361

回答

1

服务提供商需要采用Cross-Origin Resource Sharing并让它的资源以与您的出处相匹配的Access-Control-Allow-Origin标题做出响应。

+0

感谢您的答案。但是与服务开发人员的沟通需要一点时间,你知道吗,所以你知道另一种方法来实现我的目标,没有它,也没有在我身边使用后端? –