2017-09-19 30 views
0

以下問題。我想通過ajax具有重定向調用一個網站,但請求失敗原因是「沒有‘訪問控制允許來源’標頭」錯誤:獲取重定向URL,儘管沒有「Access-Control-Allow-Origin」標頭

XMLHttpRequest cannot load https://somesite.com. Redirect from 'https://somesite.com' to 'https://someothersite.com/index.php' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://anysite.com' is therefore not allowed access.

我要的是顯示在錯誤響應(並且是可變的)中的重定向URL。我似乎無法訪問它,但因爲它顯示在錯誤響應中,我認爲它應該可以訪問以某種方式

  $.ajax({ 
       type: "POST", 
       url: "https://somesite.com" 
      }); 

感謝您的任何幫助。

+0

請參考這個鏈接已經解釋好'(https://stackoverflow.com/questions/28547288/no-access-control-allow-origin-header-is-present-on-the-requested-resource-err )' –

+0

@Legman請重新閱讀這個問題。 –

+0

此錯誤消息看起來像您的網絡開發工具會拋出的錯誤消息,而不是您可以從Web API中的任何位置訪問的錯誤消息。 (即我不認爲你可以...) – Kaiido

回答

0

您不能對與調用不相同的域執行AJAX請求。例如,如果您在https://yoursite.com上進行AJAX呼叫,則不能撥打https://anysite.com,除非服務器爲is explicitly allowing it

我建議通過代理傳遞請求。你可以在你的服務器上調用一個PHP(或其他)路由,它會對https://somesite.com做一個cURL請求,併爲你得到結果。

+2

他想解析*'https://someothersite.com/index.php'*從錯誤信息中,不要繞過錯誤信息 – Kaiido

+0

其實它不是來自遠程服務器的響應錯誤信息,而是瀏覽器問題,我不知道你可以從瀏覽器api中獲得整個錯誤堆棧 –

+0

如果我應該通過使用cURL通過PHP文件傳遞請求來繞過錯誤,並用'curl_setopt($ ch,CURLOPT_REFERER,「fakesite.com」)欺騙引用者;'有沒有辦法讓https:// somesite的管理員訪問。 com'來檢測真正的推薦人還是安全的?); – Rivenscryr