jQuery的ajax,當async為false時,同步操作失敗。解決方案,jqueryasync
最近做項目遇到jQuery的ajax,當async為false時,同步操作失敗的問題,上網搜索下,得到解決辦法,這裡就說下如何解決:
引發失敗時代碼:
$.ajax({ url : 'your url', data:{name:value}, cache : false, async : true, type : "POST", dataType : 'json/xml/html', success : function (result){ return result; } });
解決方案:
var ret = null; $.ajax({ url : 'your url', data:{name:value}, cache : false, async : true, type : "POST", dataType : 'json/xml/html', success : function (result){ ret=result; } }); return ret;
說明:
不要在success的回調函數中直接return,具體原因後面在考察!!
$ajax()設置同步提交無效,代碼如下,設置了async:"false" 但還是異步提交的
ajax本來的目的就是進行異步操作, 而且最新的jQuery版本甚至已經棄用了async參數.
如果你只是想利用ajax做服務器的交互,不需要異步刷新效果,那可以用回調函數.
jquery $ajax函數,中的async: "false", 不起作用幫忙看看
"false" 加了雙引號就是字符串了,非空串就為true。
去掉雙引號。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!