jQuery JSONP是通過JavaScript的script標簽來跨域請求數據的一種技術。JSONP的優點是不需要使用XMLHttpRequest對象,也不需要服務器端設置,非常適合數據量小、請求頻繁的場景。
然而,因為JSONP是通過script標簽實現的,如果服務器在合適的時間內沒有響應,就會出現請求超時的問題。在jQuery中,可以設置timeout參數來解決JSONP請求超時問題。timeout參數表示超時時間,單位是毫秒。例如:
$.ajax({ url: 'http://example.com/api', dataType: 'jsonp', timeout: 3000, // 超時時間為3秒 success: function(data) { // 成功回調函數 console.log(data); }, error: function(xhr, status, error) { // 失敗回調函數 console.log(error); } });
上面的代碼中,timeout參數設置為3000(即3秒),意味著如果服務器在3秒內沒有響應,就會觸發error回調函數,提示“timeout”錯誤。
同時,也可以通過設置$.ajaxSetup()全局默認參數來統一處理JSONP請求超時,例如:
$.ajaxSetup({ timeout: 5000 // 5秒超時 });
這樣,所有使用JSONP方式進行跨域請求的$.ajax()方法,在沒有設置timeout參數時,都會默認使用全局的5秒超時設置。
上一篇jquery li 索引
下一篇css使按鈕并排