[英]Error “Access-Control-Allow-Origin” header in asp.net
我有2個項目正在並行運行。 http:// localhost:497和http:// localhost:580
在http:// localhost:580我想將http:// localhost:497中的文件html表單文件夾PDF轉換為iframe
<iframe src="http://localhost:497/PDF/test.html"></iframe>
之后,我收到了一個錯誤:
XMLHttpRequest無法加載http:// localhost:497 / PDF / test.html 。 請求的資源上不存在“Access-Control-Allow-Origin”標頭。 因此不允許Origin'http:// localhost:580 '訪問。
我不能使用jquery來獲取iframe中的內容。
我不知道如何解決這個錯誤,請幫助我。 謝謝大家。
所有現代瀏覽器都出於安全目的而禁止跨域請求。 當XMLHttpRequest從一個域到另一個域(在這種情況下為localhost:580到localhost:497)時,它將向服務器發送所謂的飛行前請求,以查看請求服務器是否具有訪問權限。 必須存在適當的標題才能接受請求,一旦驗證了初始預檢握手,就會在第二次行程中發生。 以下是Mozilla的CORS文檔鏈接:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
如果在Visual Studio中增強web.config文件,它應該可以正常工作。 據我所知,preflight會自動生成一個OPTIONS請求,因此您還需要允許OPTIONS請求。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://localhost:580" />
<add name="Access-Control-Allow-Methods" value="GET,OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.