我在 C# 解決方案中有兩個專案,一個用作前端,另一個用作后端,都是 web.xml 。
問題是我嘗試使用 ajax 與 JQuery 進行通信,但沒有得到回應。我總是到達控制器,那里有一個括號,我在 GET 請求中作為引數傳遞給它的值總是在后端得到,但我永遠無法列印回應警報(直接,它什么都不做。)
$.ajax({
url: 'https://localhost:44371/api/Controller/getStudent/' student
type: 'GET',
contentType: "application/json; charset=utf-8",
headers: {
'Access-Control-Allow-Origin': '*',
},
success: function (data) {
alert(data);
},
error: function (err) {
alert(err.responseText);
},
dataType: 'json'
});
會不會是同步的問題?
uj5u.com熱心網友回復:
我發現了錯誤,問題出在按鈕的代碼中。
<button type="submit" onclick="loadCountries();" class="btn btn-primary">Send</button>
型別是提交,這將重繪 頁面并切斷 ajax 呼叫。
將其更改為
<button type="button" onclick="loadCountries();" class="btn btn-primary">Send</button>
現在它可以正常作業了,感謝您的回答!
uj5u.com熱心網友回復:
您應該使用 curl 命令嘗試相同的請求。因此打開您的網頁并打開開發人員工具(我正在使用 google chrome 瀏覽器并顯示它)。
在開發人員工具中,單擊 Fetch/XHR 選項卡并觀察加載網頁時的 Ajax-Calls。如果您的請求未列出,只需重繪 頁面或進行必要的單擊以觸發您要檢查的 Ajax-Call。

它應該看起來像這樣
接下來,您應該選擇您的請求,右鍵單擊它,選擇copy然后copy as cURL

在此之后打開您的終端/控制臺或您所在的任何系統確保您已安裝 curl 并將緩沖區的內容復制到命令列并按 Enter。
這將通過命令列觸發您的 Ajax-Request,您不必考慮有關跨源請求策略的任何問題。
如果這確實回傳了包含 200 http 回應狀態代碼的有效結果,則表明您的跨源請求策略存在問題。
您可以將 -I 引數添加到您的 curl 命令以僅檢索標題而不是內容,這使得第一次檢查方法更容易一些。

uj5u.com熱心網友回復:
洗掉 ajax ex 中的資料型別,因為有時它會導致錯誤
$.ajax({
url: 'https://localhost:44371/api/Controller/getStudent/' student
type: 'GET',
contentType: "application/json; charset=utf-8",
headers: {
'Access-Control-Allow-Origin': '*',
},
success: function (data) {
alert(data);
},
error: function (err) {
alert(err.responseText);
},
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/486031.html
