DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript框架:跨浏覽器的標准化Ajax請求
JavaScript框架:跨浏覽器的標准化Ajax請求
編輯:關於JavaScript     

Ajax

使用JavaScript框架最令人信服的理由是跨浏覽器的標准化Ajax請求。Ajax請求是異步的HTTP請求,向服務器端腳本發送請求,然後得到一個響應結果,如如XML、JSON、HTML、純文本格式的數據。大多數JavaScript框架有一定形式的Ajax請求對象,它接受一系列選項作為參數。這些選項包括回調函數,在得到Web服務器的響應時調用,ExtJS、MooTools和Prototype的Ajax請求看起來是這樣的:

清單11:一個ExtJS 庫中的Ajax請求

Ext.Ajax.request({
    url: 'server_script.php',
    params: {
        name1: 'value1',
        name2: 'value2'
    },
    method: 'POST',
    success: function(transport) {
        alert(transport.responseText);
    }
});

ExtJS接受一個參數,包括url、params、method 和succcess處理函數等字段,url字段包含服務器端腳本的地址,被Ajax請求調用。Params本身就是一個對象,由鍵/值對組成,然後傳遞到服務器。method 字段有兩個可選值:GET或POST,默認為post方法。最後一個字段是succcess,在服務器得到成功響應後調用。該例中,假定服務器端返回純文本,這個文本通過alert()方法呈現給用戶。

接下來,讓我們進一步探討MooTools中 Ajax的請求。

清單12:MooTools中的Ajax請求

new Request({
    url: 'server-script.php',
    data: {
        name1: 'value1',
        name2: 'value2'
    },
    method: 'post',
    onComplete: function(response) {
        alert(response);
    }
}).send();

正如你看見,MooTools與ExtJS很相似。你會注意到,變量通過data字段傳遞,方法字段需要小寫。此外,與success處理函數不同,MooTools使用onComplete函數。最後,與ExtJS不同,MooTools實際上用Request的send()函數發送請求。

最後,讓我們看看Prototype 有哪些明顯的不同。

清單13:Prototype 中的Ajax請求

new Ajax.Request('server-script.php', {
    params: {
        name1: 'value1',
        name2: 'value2'
    },
    method: 'post',
    onSuccess: function(transport) {
        alert(transport.responseText);
    }
});

看看,Prototype以同樣的方式工作,但語法小有差異。對於初學者來說,原型的Request對象接受兩個參數傳遞給構造函數。第一個參數是發送請求的URL地址,正如你在前面兩個例子看到的那樣,第二個參數是一個對象,包含各個Ajax請求的選項。當然,URl作為一個單獨的參數傳遞,他不在選項列表中。另外,值得注意的是,與MooTools不同,Prototype 對象的構造函數隱式的發送請求,所以不需要調用任何方法觸發HTTP請求。

大多數JavaScript框架對Ajax的支持已經超越了我這裡所說的。一些明顯的增強功能包括在接到響應後自動更新元素,而無需任何特殊的onSuccess 函數。一些庫已經預先構建了自動完成功能,正如你在google搜索引擎看到的那樣,在鍵入時給你一些查詢建議。

在接下來的章節中,您將了解到JavaScript框架給絡開發者帶來的用戶體驗(UE)的提升。

轉載地址:http://www.denisdeng.com/?p=729

原文地址:http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved