2011-12-30 21 views
4

使用AJAX,當我們執行JSON請求,我們首先必須通過響應通過eval接收:jQuery的對AJAX

var quote=eval("(" + xhr.responseText + ")"); 

之後,使用從它的一些信息,一個人必須做一些OLD-學校的JavaScript:

document.getElementById("textarea").value=xhr.responseText; 

...或使用特定的信息,我們使用createTextNode這樣的:

// price is retrieved from PHP. 
var text=document.createTextNode(price + ":" + quote.price); 

來到jQuery的,同樣的事情是如此簡單:

$.get("file.php",function(data){ 
    var text=data.price; 
}); 

爲什麼我需要在jQuery的本身使用AJAX當有可用的AJAX方法呢?

我不知道關於AJAX可以和jQuery不能做什麼的先進的東西,反之亦然。什麼是AJAX和jQuery各有用,什麼時候應該使用哪些?

+1

你是在比較蘋果和橘子。 – 2011-12-30 07:11:27

+0

檢查了這一點:http://stackoverflow.com/questions/3870086/difference-between-ajax-and-get-and-load – Sang 2011-12-30 07:12:05

+1

@LokiAstari ...可能是。這就是爲什麼我提出了這個。只是爲了確保我明確未來不會比較蘋果和橘子。請看看你能否幫助我! – kushalvm 2011-12-30 07:14:47

回答

3

jQuery是一個JavaScript庫,它使得編寫javascript在跨瀏覽器問題方面很容易,並提供了幾種實用程序方法。 Ajax是JavaScript中的一種技術,通過它可以訪問某些服務器端代碼,並使用從中獲得的結果來操作您的dom。 jQuery在AJAX的情況下也提供了跨瀏覽器問題的免費包裝方法來執行相同的事情。所以jQuery只是一個幫助庫,它可以幫助你以更簡單的方式實現幾件事情,其中​​一個也可以是ajax。

+0

@sushil ....所以如果一個人正在學習JQuery,那麼就沒有必要去AJAX的方式......這是你想說的嗎?或者只是建議我選擇哪一個? – kushalvm 2011-12-30 07:21:57

+0

你需要了解ajax的原則。 jQuery提供了一組方法來幫助您以更簡單的方式編寫ajax。非常喜歡,如果你正在學習jQuery,你應該首先知道JavaScript是什麼以及做什麼的。 – 2011-12-30 07:24:36

+0

...等待一個人學習jquery及其方法時,會自動知道這會對他做什麼。在深入jquery之前,我幾乎沒有詳細學習任何javascript。所以我也相信ajax(糾正我,如果我錯了)。我的意思是在Juery中有各種AJAX方法可用,並且如果知道ajax所做的基本事情(只需從服務器檢索下面的數據並根據需要操縱DOM)。我還需要了解關於ajax的更多信息? – kushalvm 2011-12-30 07:41:44

0

請記住,jquery是ajax框架庫。 Ajax是一種可以使用XMLHttpRequest(xhr)或jquery實現的異步通信機制。 jQuery是由第三方支持的庫。其中一種機制足以實現Ajax功能。

+0

@thinksteep ...所以如果有人在學習Jquery,那麼就沒有必要去AJAX的方式......這是你想說的嗎? – kushalvm 2011-12-30 07:20:30

+1

將ajax認爲是<通信機制>,您可以使用陸地電話(xmlhttprequest)或單元(jquery)或衛星電話(其他框架)。 – kosa 2011-12-30 07:39:37

+0

@thinksteep ...什麼是anology!現在,你會在最常見的情況下推薦最好的東西,或者衛星電話永遠是最好的! – kushalvm 2011-12-30 07:46:17

0

jquery的ajax方法非常強大,它可以處理所有需要的東西。

在jquery中有各種方法可以根據您的要求執行AJAX調用,但所有這些都是jQuery的ajax方法的同義詞。

爲JSON可以使用 $.getJSON(url,[data],function(response){});

張貼可以使用 '$ .POST數據(URL,[數據],功能(響應){});

獲取請求,您可以使用 `$ .get(url,[data],function(){});

,如果你想使用Ajax方法對所有的這些事情你必須通過各種參數根據您的要求

$.ajax({ 
'url':you url, 
'type':request type, 
'data':your data, 
'success':success handler function, 
'error':error handler function, 
/*and many more*/ 
)} 

讀jQuery的文檔的全部細節