2011-03-04 138 views
1

我有3個ASP列表框。出現在第二個列表框中的值列表取決於第一個列表框中的選定項目,而出現在第三個框中的值則基於第二個框中的選擇出現。所有這些值都將從數據庫中檢索,我想知道它是否更好地使用AJAX或jQuery。我應該使用什麼? AJAX或jQuery?

我已經閱讀了兩者之間的差異,但我仍然感到困惑。請幫助我這個特殊的例子。

+0

這些不是對立面 jquery是一個JavaScript庫 Ajax =「異步JavaScript和xml」是一種通信技術。 你可以用jquery使用make Ajax調用 – openCage 2011-03-04 09:09:30

+1

如果你真的認爲你的問題有意義,你應該學習** JavaScript **。 – Felix 2011-03-04 09:11:31

回答

4

它們是不同的(雖然是相關的)概念。 jQuery是一個豐富的JavaScript庫,提供AJAX支持等許多其他功能。

AJAX本身主要是各種JavaScript技術的通用術語,用於動態連接到Web服務器而不必加載多個頁面。從狹義上講,它指的是使用XmlHttpRequest對象通過JavaScript動態地與Web服務器進行交互。

+0

我已經閱讀過無處不在,但似乎無法確定哪種方法更好。他們一起使用嗎?他們有不同的語義嗎?請賜教,並請特別關注我的案件。 – CodingInCircles 2011-03-04 09:12:12

+1

@Akshay:jQuery實現了AJAX。我不知道如何做得更清楚。 – 2011-03-04 09:16:39

1

jQuery是一個旨在消除用戶代理之間差異的JavaScript庫。

Ajax(Ansynchronous JavaScript and XML)是一種對主機執行異步請求的技術。 jQuery(在許多其他庫&hellip和vanilla JavaScript中)支持Ajax(並通過在用戶代理之間提供標準化接口使其更容易)。


所以,真正的問題是:你應該使用jQuery來執行您的Ajax請求?

答案是:是的,如果你已經在使用jQuery的 - 如果沒有,你可以包括jQuery的或其他的Ajax支持JS庫,也可以實現在香草JS Ajax功能。

0

當你說「AJAX」時,你的意思是什麼?據我所見,無論你使用什麼庫(jQuery或其他),你仍然會使用異步服務器請求。

0

你沒有得到的AJAX技術和jQuery之間混淆庫...海事組織使用jQuery執行AJAX

0

我會親自使用jquery用的getJSON中檢索數據。也許這是你的選擇?

$.getJSON("getMenu", "parentID=" + parent, function (data) { 
    $.each(data, function (index, item) { 
     // add code to new 2nd listbox 
    } 
    } 

那麼你就必須聲明使用getMenu後端

這可以用AJAX OFC也做

9

阿賈克斯的意思是「將數據發送到和/或不留使用JavaScript的網頁從服務器接收數據「

jQuery是一個JavaScript庫。

你不能選擇它們之間,因爲這是像「旅行」和「波音」之間進行選擇(波音公司作出這樣有助於你的旅行產品,其他公司也這樣做。您可以在不使用任何製造的產品旅行波音公司做非旅行相關的事情)。

如果你有很多數據(即太多以至於無法將所有內容加載到頁面中),那麼您將需要使用Ajax來獲取它。如果你沒有那麼多的數據,你可以將它嵌入到你的腳本中,而不用擔心使用Ajax技術創建HTTP請求(這會在加載時產生成本,但會使腳本更簡單)。

如果您想要根據前一個選擇的數據更改select元素中的數據,那麼JavaScript庫可以爲您節省一些麻煩,但可能不值得額外的頁面加權(儘管如果您使用了許多功能JS然後這個努力會加起來,直到它從一開始就值得使用一個庫)。

如果你想使用Ajax,那麼有足夠的瀏覽器差異,JS庫可能是值得的權重。隨着圖書館去,jQuery是合理和流行的。

+1

AJAX的這個定義過於寬泛。 Java和Flash小應用程序與服務器交互時不會離開頁面,但沒有人稱之爲AJAX。 – 2011-03-04 09:20:03

0

Ajax是一個method,它描述了(通常)由某些Javascript代碼調用的異步請求。 jQuery是一個在一些非常漂亮的包裝中實現這種技術的庫。我建議你下載jQuery,這很容易,互聯網上有很多代碼和教程。

4

羽毛還是鉛?

它不是 - 或者! AJAX是一種通過Javascript與Web服務器交談的技術。 jQuery是一個Javascript框架。他們是蘋果和桔子。您可以使用純Javascript執行AJAX請求,也可以使用jQuery包裝器進行AJAX請求。最後他們是一樣的,jQuery只是讓它更容易,因爲它摘要的東西。 jQuery不是AJAX或Javascript的替代品,它只是一組使日常任務更容易的功能。

我建議你先用簡單的Javascript AJAX請求開始學習在使用庫來抽象細節之前工作是如何工作的。

+0

謝謝你的回答!讓我明白這個區別非常好。謝謝! – CodingInCircles 2011-03-04 09:17:55

+0

解釋的好答案。 – Obsidian 2014-06-16 08:46:49

0

如果您出現數據太多! 然後你可以使用Ajax,因爲速度

如果不是太多 你可以使用JavaScript(jQuery)來閱讀它們一次!

+0

這個答案有誤導性。 AJAX和jQuery不是競爭選項。 – 2011-03-04 09:21:21

0

你使用的是ASP還是ASP.NET?如果它是ASP.NET,那麼只需將代碼添加到列表框的onselectionchanged方法中即可更改其他框中的值。 ASP.NET將處理所有的AJAX調用。