我從jQuery網站上讀到,get()使用HTTP GET請求從服務器加載數據。但這一解釋並不足夠,如用於例如我在下面提供:jQuery get()方法 - 不確定它在接收的參數中做了什麼
只給我的問題有些情況下,當我們的兩個參數值賦值給一個變量expoptions:
var expoptions = $.extend(defaults, options);
默認參數是對象文本未在選項參數定義的默認的鍵/值對:
$.fn.explorerGrid = function(options) {
var defaults = {
order: 'make',
page: 1,
id: 0,
per_page: 20,
url: "/honda",
additional: function(){return {ololo:'trololo'};},
};
options參數是一個對象文字作爲參數傳遞的鍵/值對當explorerGrid()方法被調用:
Honda.prototype.explorer_create=function(){
var component = this;
this.opts_exp = {
order: this.default_order_str,
url: "/"+this.resource_url_str,
additional: function(){return component.filter_func();}
};
jQuery(this.exp_id).explorerGrid(this.opts_exp); //exp_id is just a div container that holds a table we intend to populate with data
然後,我們遍歷我們的本田對象的對象文字,指定per_page(例如, 20),順序(如「化妝」),頁面(例如:1)我們expoptions的反對一些全局變量:
return this.each(function() {
var expobj = $(this);
var params = {
per_page: expoptions.per_page,
order : expoptions.order,
page : expoptions.page,
};
----那部分我不明白----當我們調用在get()方法中,我們傳入了一些參數,其中一個是expoptions.url(例如'/ honda'),params(它保存了一個鍵/值對的對象字面量,用於指定我們想要如何填充表,它也包含來自additional()方法的另一個對象字面量,它包含過濾條件的鍵/值對,例如:'Year:2008','Make:Honda'),然後我們調用一個函數,該函數看起來是一個匿名函數,傳入一個名爲data的參數,我不知道這是從哪裏來的,因爲像我說過的,這個函數似乎沒有在任何地方定義過,然後它調用expobj對象的html()方法,whic h是我們的對象,比如Honda,並且拉入那個數據參數。我不確定get()方法應該用這三個參數來做什麼:expoptions.url,params,function(data)。如果有人知道get()方法用這些參數做什麼,我會感謝一些解釋:
jQuery.get(expoptions.url,
params,
function(data)
{
expobj.html(data);
expobj.find("tr th.sortable").click(function(){
if($(this).hasClass('sortedasc')){
expoptions.order = "-" + $(this).attr('id');}
if($(this).hasClass('sorteddesc')){
expoptions.order = $(this).attr('id');}
if(!$(this).hasClass('sorteddesc') && !$(this).hasClass('sortedasc')) {
expoptions.order = $(this).attr('id');}
expoptions.find_page_for_resource = 0;
expobj.explorerGrid(expoptions);
});
expobj.find("#gridpage").change(function(){
expoptions.page = 1;
expoptions.per_page = $(this).val();
expobj.explorerGrid(expoptions);
});
);
感謝您的回覆。
我使用Google搜索響應正文。我得到的只是IE7中引入的一個responseBody屬性的微軟定義。很難概念化反應機構是什麼。 – JohnMerlino 2010-07-03 12:48:11
只需要確認一下,我們發送url'honda.part'到服務器,然後查詢字符串?year = 2008&color = red的附加參數,現在一旦這個http請求(url和查詢字符串)發送到服務器,像PHP這樣的腳本接受這些信息,做一個sql查詢,然後返回參數數據中的結果,並且html()jquery方法會將該響應轉換爲html? – JohnMerlino 2010-07-03 13:43:21
「data」本質上是responseText,它包含發送到服務器腳本的查詢字符串中指定的mysql查詢的結果? – JohnMerlino 2010-07-03 14:03:32