簡體   English   中英

AngularJS:所請求的資源上不存在“ Access-Control-Allow-Origin”標頭

[英]AngularJS: No 'Access-Control-Allow-Origin' header is present on the requested resource

在我的客戶端代碼中,我正在使用AngularJS $ http發送GET請求以從后端服務器獲取一些數據。 默認情況下,后端服務器不會在響應頭中放置“ Access-Control-Allow-Origin”。

當我通過Chrome發送此請求時,出現錯誤:

No 'Access-Control-Allow-Origin' header is present on the requested resource

Web服務器和后端服務器都在具有不同端口號的同一台計算機上運行。

當我安裝了Chrome插件以啟用跨域資源共享時,它運行良好。 但是,我想通過僅更改我的AngularJS客戶端代碼來使其工作,而不更改Web Bower的設置和后端服務器的代碼。 是否有可能做到這一點?

謝謝

您需要在您的php頁面開始處添加它

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

對於.NET服務器,可以在web.config中進行如下配置

<system.webServer>
   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="http://www.makemypublication.com" />
     </customHeaders>
  </httpProtocol>
 <system.webServer>

或者,當您想進行跨域請求時,您需要做一些不同的事情。 有關如何實現此目標的教程是使用CORS

使用郵遞員時,它們不受此政策的限制。 引用自跨域XMLHttpRequest

常規網頁可以使用XMLHttpRequest對象從遠程服務器發送和接收數據,但是它們受同一原始策略的限制。 擴展不受限制。 擴展可以在其起源之外與遠程服務器通信,只要它首先請求跨域許可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM