![](/img/trans.png)
[英]Response is a 401 error when requesting local resource from http webpage
[英]HTTP Requesting data from a local server
我在本地計算機上運行兩個Flask Apps。
1)我的測試客戶網站(在端口5001上)
2)我的API(在端口5000上)
如果在瀏覽器中鍵入127.0.0.1:5000/search/
得到以下信息:
Test Hello World
如果我在瀏覽器中鍵入127.0.0.1:5001
我會得到一個包含以下HTML代碼的普通網頁(一切看起來都不錯):
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="loadDoc()">Request data</button>
<p id="demo">TEST</p>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "127.0.0.1:5000/search/", true);
xhttp.send();
}
</script>
</body>
</html>
如您所見,HTTP請求已發送到127.0.0.1:5000/search/
,該請求已在瀏覽器中經過測試並且可以正常工作,並且應返回Test Hello World
但不幸的是沒有任何反應。
基本上,我單擊“請求數據”按鈕(請參見上文),並且絕對沒有任何反應。
有什么想法嗎? 我已經堅持了幾個小時。
出於安全原因,瀏覽器限制了從腳本內部發起的跨域HTTP請求。 例如,XMLHttpRequest遵循同源策略。 因此,使用XMLHttpRequest的Web應用程序只能向其自己的域發出HTTP請求。 為了改進Web應用程序,開發人員要求瀏覽器供應商允許XMLHttpRequest進行跨域請求。
這些資源可能會有所幫助;
HTTP訪問控制(CORS)
使用CORS
"127.0.0.1:5000/search/"
您的網址缺少其方案。 您需要在其前面加上http://
。
如果打開瀏覽器的開發人員工具並查看“網絡”選項卡,則應該在其中看到404錯誤。
解決此問題后,很可能會出現如本問題所述的跨源錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.