【问题标题】:How to send a cross domain ajax request [duplicate]如何发送跨域ajax请求[重复]
【发布时间】:2017-06-17 23:20:00
【问题描述】:

我想发送一个跨域 ajax 请求,但我遇到了以下错误我还尝试了下面的代码,我从一篇堆栈文章中获得了是否可以发送跨域请求。

我尝试发送跨域请求的代码。

$(document).ready(function () {
    $.ajax({
        type: 'POST',
        url: "http://testdomain.com/config.php",
        crossDomain: true,
        data: 'rejected_by_loid=' + 1,
        success: function (msg) {
            $('#survey').html(msg);
        }
    });
});

控制台日志错误:

跨域请求被阻止:同源策略不允许读取位于http://beta.paravey.com/paraveyads/config.php 的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。

请帮我解决这个问题。

【问题讨论】:

  • 你需要在服务器上允许跨域ajax访问。请您的系统管理员允许您连接到该服务器。
  • 你控制beta.paravey.com/paraveyads/config.php吗?如果是这样,请将标头添加到响应中。如果没有,您需要寻找不同的解决方案,例如向您的服务器发送 ajax 帖子,然后从您的服务器向 beta.paravey.com/paraveyads/config.php 发送 curl 请求。

标签: php jquery ajax


【解决方案1】:

您必须在http://testdomain.com/config.php中定义受信任的域名:

header('Access-Control-Allow-Origin: http://requested-domain.com', false);
header('Access-Control-Allow-Origin: http://requested-domain2.com', false);

最后一个参数false 禁止覆盖相同的标头。

当然,如果您想为所有呼叫开放您的域,您可以设置:

header('Access-Control-Allow-Origin: *');

【讨论】:

【解决方案2】:

把它放在config.php之上

 header('Access-Control-Allow-Origin: *');  

【讨论】:

  • 非常感谢您的宝贵支持:)。
猜你喜欢
  • 2012-12-04
  • 1970-01-01
  • 2014-11-24
  • 2013-03-02
  • 2013-01-05
  • 2016-10-02
  • 2018-04-12
  • 2013-11-03
  • 2019-09-13
相关资源
最近更新 更多