簡體   English   中英

$.get 回調 function 未執行

[英]$.get Callback function not executed

我執行了下面的簡單程序,期望 get 方法的回調 function 將執行。 但它只會使 AJAX 調用和回調 function 不執行。 由於此返回的數據未顯示在警報框中。 感謝你的幫助。 謝謝

 $(function() { $("#bt1").click(function() { url = "https://run.mocky.io/v3/5b0c30b2-1069-4640-9bb6-18ceb95c25c4"; $.get(url, function(data) { alert(data); }); }); });
 <script src="https://code.jquery.com/jquery-3.5.1.js"></script> <div id="div1"> This is dummy data </div> <button id="bt1"> Click here </button>

添加一個fail處理程序,以便您可以查看 jQuery 報告的錯誤:

 let url = "https://run.mocky.io/v3/5b0c30b2-1069-4640-9bb6-18ceb95c25c4"; $.get(url, function(data) { alert(data); }).fail(function(jqXHR, status, error) { console.log(`error: ${error}`) });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

它說:

錯誤:語法錯誤:JSON 中的意外令牌 S 在 position 0

服務器報告:

 Content-Type: application/json; charset=UTF-8

但身體:

 Sun Jan 3 18:05:31 IST 2021

… 不是 JSON。


更改服務器端代碼,使其報告正確的內容類型(可能是text/plain )或將數據編碼為 JSON


為了完整起見,我會提到您可以告訴 jQuery 在成功 function 后使用參數覆蓋Content-Type ,但這是解決問題而不是解決問題,所以我不推薦它。

 let url = "https://run.mocky.io/v3/5b0c30b2-1069-4640-9bb6-18ceb95c25c4"; $.get(url, function(data) { alert(data); }, "text").fail(function(jqXHR, status, error) { console.log(`error: ${error}`) });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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