2013-07-04 96 views
1

我想了解AJAX和JSON,我不知道我得到它,有方法和正在做同樣的東西...功能

你得$.getJSON從檢索JSON格式數據服務器,並且您有$.ajax + $.post + $.get + load()將數據數據發送到服務器?

我可以使用所有這些方法發送JSON數據嗎?

真的我很困惑!幫我弄清楚這一點。

+0

查看http://api.jquery.com/category/ajax/shorthand-methods/。 – putvande

+0

是的,我已經閱讀了API,並且變得更加困惑。哈哈 –

+1

您是否閱讀過手冊?因爲很明顯所有其他方法都只是'$ .ajax'的特殊形式。 *這是一個簡短的Ajax功能,這相當於... * – Jon

回答

2

所有這些只是撥打$.ajax functionshorthands

  • load是用於檢索HTML和一氣呵成將其寫入到DOM。你想加載JSON。
  • getgetJSON使用GET請求不適合發送JSON數據。
  • post做了POST請求,但不允許您選擇發送的數據

contentType爲了發送JSON你應該使用$.ajax功能與它的許多選項,請參見Send JSON data with jQuery

+0

大部分你寫的我得到和承諾,但什麼是確切的POST和GET請求什麼是那些的含義? –

+0

Google「http request」,http://www.w3schools.com/tags/ref_httpmethods.asp – olamarche

+0

[GET vs POST in AJAX?](http://stackoverflow.com/q/1872965/1048572) – Bergi

2

AJAX請求的核心是一個HTTP請求。這是用於網絡上所有內容的相同協議(可以說,如果它不是HTTP,它不是Web) - 加載頁面,頁面上的圖像,CSS和JS包含,提交的表單,等等等等。

因此,它繼承了HTTP的所有靈活性,這意味着像jQuery.ajax這樣的通用函數結果相當複雜,有很多選項你通常不需要擔心。這導致你提到的Shorthand Methods,它們捆綁了一些常用的選項和功能。

其中你可能要改變的東西:

  • 的請求的 「方法」:GET或POST(或不常見的像HEAD,PUT,DELETE ...)。一個GET請求是最簡單的:請求這個URL,給我它的內容; GET請求的參數被推送到URL的「查詢字符串」。 POST請求是在普通頁面上提交更大的表單的方式:參數作爲獨立於URL和控制標題的數據主體傳遞;對於AJAX請求,這通常會有助於將一個XML或JSON塊發送到的URL。 這是一個非常寬泛的概述,兩者之間的行爲和意義有很多不同之處。
  • 您希望在響應中(以及對於POST請求,您要發送的數據)使用「內容類型」。這不僅告訴服務器和瀏覽器它正在處理什麼數據,確保它能夠成功傳遞它,還可以爲jQuery(或任何庫)提供接下來要做的事情:如果調用返回XML,可能想要將它作爲一個DOM直接操作;如果它是JSON,則需要將其解析爲JS對象。
  • 一旦數據回來,你想要做什麼。我已經提到了解析JSON或XML,但是如果你的響應實際上是一個你想直接注入父頁面的HTML塊呢?很明顯,你可以在回調函數中自己做這件事,但是jQuery再次包含一個形狀爲.load()的簡寫形式。

以上所有都是可能與jQuery.ajax,但你要記住的參數,即使你落入相同的情況下,一次又一次,因此機會是大部分時間你會在那個時候使用任何符合你需要的短手。

+0

謝謝!非常有用的信息! –

相關問題