簡體   English   中英

HTTP從本地服務器請求數據

[英]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.

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