【问题标题】:Cross-domain AJAX request to Django server对 Django 服务器的跨域 AJAX 请求
【发布时间】:2012-10-23 10:08:03
【问题描述】:

我正在尝试使用 jQuery 从 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) 访问数据。 请给我一个提示我做错了什么。重要的是我无法访问服务器,我只能与网站的开发人员交流,他们还不知道问题出在哪里。

【问题讨论】:

  • 您将需要阅读 CORS。除非网站开发人员明确允许您的域查询其内容,否则您将无法以这种方式获取数据。您需要在后端使用 jsonp 请求或脚本来获取内容。我通常使用第二个
  • 感谢您的回答。能否请您举个例子说明如何在我的情况下使用 jsonp?
  • 您需要联系开发人员并将他们的输出包装在 jsonp 回调中。这个站点应该可以帮助你更好地理解 jsonp:json-p.org。我通常使用我的第二个选项,因为需要涉及其他站点

标签: javascript django jquery cross-domain


【解决方案1】:

服务提供商需要使用Cross-Origin Resource Sharing 并让它的资源响应与您的来源匹配的Access-Control-Allow-Origin 标头。

【讨论】:

  • 感谢您的回答。但是与服务开发人员的沟通需要一点时间,你知道,所以你知道另一种方法来实现我的目标,而无需它并且不使用我身边的后端?
猜你喜欢
  • 2012-06-10
  • 2014-08-02
  • 2013-06-19
  • 2018-03-02
  • 2019-10-01
  • 2014-07-19
  • 1970-01-01
  • 2012-04-23
  • 2015-06-05
相关资源
最近更新 更多