2011-06-23 84 views
3

我對jQuery AJAX有幾個問題。關於jQuery的問題AJAX

  1. 這是令人困惑的理解爲什麼有像負載(多種方法),獲得(),後()..就是把差異只喜歡$阿賈克斯是寫作的一般方法和其他基於正在具體類型..?

  2. 我不會徹底地理解完成,成功之間的差異。他們是否相似或有什麼差異,以什麼時候應該使用?

  3. 從HTML響應中的腳本執行方面來說,jQuery AJAX會自動處理它還是需要指定類似eval()的東西?與正常的AJAX處理相比,這種行爲的差異又有多大?

  4. 關於beforeSend,它是否類似於ajaxSetup,一般來說,可用的許多共用屬性是什麼?

編輯

  1. 也就是寫爲回調負載().. e.g的代碼。負載(URL,函數(){}); 與成功提到的相同或ajaxSuccess ..我的意思是說回調函數代碼不會與成功或ajaxSuccess同時執行?

Thnak you。

回答

11

1)您需要了解HTTP。 getpost分別發出「GET」和「POST」請求,這對於構建RESTful服務非常有用。編輯:我實際上沒有看到ajax對象上的get和post方法;你傳遞一個'type'參數來指定你想要使用的HTTP方法。

2)success成功時觸發,即響應是否返回200. complete在完成其他操作後始終觸發。

3)理想情況下,你的服務器將返回json。如果您將Ajax調用配置爲期望json,那麼它會爲您解析它。

4)文檔非常清晰,beforeSend在實際的底層ajax請求被調用之前被觸發。文檔中提到了「使用它來設置自定義標題等」。

+0

所以對於1,差異主要是在語法方面,如果我們想要製作一個特定的東西,比如get,post ...對於4,什麼是ajaxSetup主要用於? – testndtv

+0

@hmthr正如它在這裏所說的:http://api.jquery.com/jQuery.ajaxSetup設置是設置默認值。所以,當你加載應用程序來設置合理的默認值時,你可以使用ajaxSetup。例如,你可以設置dataType ='json',這樣每次你做一個ajax調用時你都不需要指定它。 – hvgotcodes

+0

所以說ajaxSetup是一種全局設置,而beforeSend特定於那個AJAX請求?那是對的嗎? – testndtv

0
  1. 他們只是「速記」 什麼都可以做,功能 完全相同的用$。阿賈克斯(),該 區別只是語法每個請求完成後
  2. complete被解僱了,而如果success只大火沒有任何錯誤(一個成功一個
  3. 無論你想有你在做HTTP響應做製作功能(數據){dostuff(數據);}在success回調區域
  4. beforeSend被稱爲右之前Ajax請求被觸發

Documentation

+0

請同時看到我編輯的最後一個問題.. – testndtv