如何解决请求的资源上没有“Access-Control-Allow-Origin”标头

时间:2018-01-01 10:23:37

标签: angularjs localhost

当我按照以下代码运行时

  1. AngularJS enter image description here
  2. HTML
  3. html code  3.错误

    enter image description here

3 个答案:

答案 0 :(得分:2)

您可以在Chrome浏览器中尝试以下插件: Core extension

如果你想在服务器端添加然后在服务器上添加以下标题(对于PHP在index.php中添加)

header("Access-Control-Allow-Origin:*");
header('Access-Control-Allow-Methods: GET, POST, OPTIONS, DELETE, PUT');
header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Request-With, X-CLIENT-ID, X-CLIENT-SECRET');
header('Access-Control-Allow-Credentials: true');

答案 1 :(得分:2)

Javascript旨在不从域转发到另一个域。您将从localhost转到另一个域。有一个相对较新的过程:跨源资源共享或CORS。在这里,服务器和客户同意允许它。它是通过标题完成的。你需要一个CORS标题。以下是参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

答案 2 :(得分:2)

安装上面提到的chrome插件并不是解决您问题的永久解决方案,您不能要求最终用户也这样做。

最好的方法是用api代码处理它。

有很多资源可供查看如何为各种语言api配置它。以下链接将使您了解它以及如何配置。

<强> Why does my JavaScript get a “No 'Access-Control-Allow-Origin' header is present on the requested resource” error when Postman does not?