如何发送跨域ajax请求[重复]
Posted
技术标签:
【中文标题】如何发送跨域ajax请求[重复]【英文标题】:How to send a cross domain ajax request [duplicate] 【发布时间】: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 请求。 【参考方案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: *');
【讨论】:
这实际上是一个更好的答案 - 您确实想要限制允许的域以降低(尽管很小)安全风险:***.com/questions/12001269/…【参考方案2】:把它放在config.php之上
header('Access-Control-Allow-Origin: *');
【讨论】:
非常感谢您的宝贵支持:)。以上是关于如何发送跨域ajax请求[重复]的主要内容,如果未能解决你的问题,请参考以下文章