2013-09-22 231 views
1

如果我只想通過POST數據將表單提交給PHP處理器並獲得結果,是否有任何理由使用jQuery加載方法的ajax方法?jquery load vs ajax提交表單提交

使用Ajax需要與像這樣的東西在一行非常簡單的jQuery的一串代碼:

$("#myDIV").load("myProcessor.php", {field1: target.value}); 

嗯,也許這只是一個領域的工作呢?對不起,剛回到JS。

+0

是不是內部使用Ajax的加載方法?或者你的意思是不同的「阿賈克斯方法」? – SharpKnight

回答

0

$(element).load(...)將自動將服務器響應插入到所選元素中作爲html(jQuery documentation for .load())。這可能會導致您的服務器直接向用戶公開有關請求的信息,這可能不是您要做的。

$.ajax()也可以很好地控制請求期間發生的情況。您可以準確攔截異常並在請求成功完成時生成回調。這些都是使用$.ajax()而不是$(element).load(...)的理由。但是,如果您的只有關注發送POST標頭中的數據並處理響應,那麼使用帶回調函數的$.post可能是最簡單的方法。 http://api.jquery.com/jQuery.post/

0
  • .load方法是大致相當於$獲得(URL,數據, 成功)src)。
  • .get方法是速記Ajax 函數src)。

對於簡單的ajax調用,.load是適當的。如果您想要處理特殊參數,請使用.ajax

PS:如果你不希望像jQuery框架胖,看這裏:http://microjs.com/#ajax

0

從jQuery的網站有關負載

這種方法是從服務器獲取數據的最簡單方法。它是 大致相當於$ .get(url,data,success),只是它是一個 方法而不是全局函數,並且它有一個隱式回調函數 。當檢測到成功響應時(即當textStatus 爲「成功」或「未修改」時),.load()將匹配元素的HTML內容設置爲返回的數據。

您可以在StackOverflow上閱讀difference between load ajax

但是,load不適用於使用post方法提交表單。 POSTGET是不同的方法,工作方式不同,使用GET方法提交的數據將在$_GET陣列中可用,但不會在$_POST中提供。

+0

暗中投票,給出投票的理由。 –