如果我只想通過POST數據將表單提交給PHP處理器並獲得結果,是否有任何理由使用jQuery加載方法的ajax方法?jquery load vs ajax提交表單提交
使用Ajax需要與像這樣的東西在一行非常簡單的jQuery的一串代碼:
$("#myDIV").load("myProcessor.php", {field1: target.value});
嗯,也許這只是一個領域的工作呢?對不起,剛回到JS。
如果我只想通過POST數據將表單提交給PHP處理器並獲得結果,是否有任何理由使用jQuery加載方法的ajax方法?jquery load vs ajax提交表單提交
使用Ajax需要與像這樣的東西在一行非常簡單的jQuery的一串代碼:
$("#myDIV").load("myProcessor.php", {field1: target.value});
嗯,也許這只是一個領域的工作呢?對不起,剛回到JS。
$(element).load(...)
將自動將服務器響應插入到所選元素中作爲html(jQuery documentation for .load())。這可能會導致您的服務器直接向用戶公開有關請求的信息,這可能不是您要做的。
$.ajax()
也可以很好地控制請求期間發生的情況。您可以準確攔截異常並在請求成功完成時生成回調。這些都是使用$.ajax()
而不是$(element).load(...)
的理由。但是,如果您的只有關注發送POST標頭中的數據並處理響應,那麼使用帶回調函數的$.post
可能是最簡單的方法。 http://api.jquery.com/jQuery.post/
對於簡單的ajax調用,.load是適當的。如果您想要處理特殊參數,請使用.ajax
。
PS:如果你不希望像jQuery框架胖,看這裏:http://microjs.com/#ajax
從jQuery的網站有關負載
這種方法是從服務器獲取數據的最簡單方法。它是 大致相當於$ .get(url,data,success),只是它是一個 方法而不是全局函數,並且它有一個隱式回調函數 。當檢測到成功響應時(即當textStatus 爲「成功」或「未修改」時),.load()將匹配元素的HTML內容設置爲返回的數據。
您可以在StackOverflow上閱讀difference between load ajax。
但是,load
不適用於使用post
方法提交表單。 POST
和GET
是不同的方法,工作方式不同,使用GET
方法提交的數據將在$_GET
陣列中可用,但不會在$_POST
中提供。
暗中投票,給出投票的理由。 –
是不是內部使用Ajax的加載方法?或者你的意思是不同的「阿賈克斯方法」? – SharpKnight