存在时“没有'Access-Control-Allow-Origin'标头”

时间:2019-03-18 15:17:08

标签: javascript php jquery ajax cors

我正在尝试从一个网站向我自己的网站发送POST请求。我已经确保明确允许CORS访问,但是当我尝试发送实际的POST请求时,却不断遇到No 'Access-Control-Allow-Origin' header is present on the requested resource.错误。

我试图发送POST请求的页面代码如下: enter image description here

响应头看起来像: enter image description here

此外,我尝试使用纯JavaScript,AJAX和jQuery发送请求,但它们都失败了。

这是jQuery的尝试: enter image description here

普通的JavaScript尝试: enter image description here

最后是AJAX尝试: enter image description here

我在这里怎么了?

编辑:抱歉,我看错了标题窗口。上一个屏幕截图来自我,只是用浏览器查看地址。我更新了屏幕截图,以显示“网络”窗格实际上显示的有关$.post请求的内容。

3 个答案:

答案 0 :(得分:-1)

Headers is PHP必须在从服务器发送任何输出之前。

尝试将标头放在文件顶部,如下所示:

 <?php
 header("Access-Control-Allow-Origin: *");

 ...
 ?>

答案 1 :(得分:-1)

尝试修改请求标头

<?php
header("Access-Control-Request-Headers: origin, x-requested-with");

...
?>

答案 2 :(得分:-1)

愚蠢的解决方案。我忘记将static async getInitialProps({ req }) { const userAgent = req ? req.headers['accept-language'] : navigator.userAgent; return { userAgent }; }放在www.之后。在域名前加上http://即可使用该代码。谢谢大家的帮助:)。