?? request.md.svn-base
字號:
Class: Request {#Request}
=========================
對XMLHttpRequest的功能包裝類
### 實現:
[Chain](/Class/Class.Extras#Chain), [Events](/Class/Class.Extras#Events), [Options](/Class/Class.Extras#Options)
### 語法:
var myRequest = new Request([options]);
### 參數:
2. options - (*object*, 可選) 參見下列可選項
### 可選項:
* url - (*string*: 默認為 null) 請求的目標URL
* method - (*string*: 默認為 'post') HTTP請求方法, 可以是: 'post' 或 'get'
* data - (*string*: 默認為 '') 為[Request:send][]方法提供的默認請求參數
* async - (*boolean*: 默認為 true) 如果為false, 則請求將以同步方式進行
* encoding - (*string*: 默認為 "utf-8") 請求的編碼方式
* link - (*string*: 默認為 ignore) 可以為'ignore', 'cancel' 或 'chain'
* 'ignore' - 當請求正在執行之中時,新的請求將被忽略
* 'cancel' - 當請求正在執行之中時,將立即取消當前執行中的請求,開始執行新的請求
* 'chain' - 當請求正在執行之中時,將會把新的請求鏈接在當前請求之后,依次執行所有請求
* headers - (*object*) 請求頭數據
* isSuccess - (*function*) 可覆蓋內置的isSuccess函數,可自定義請求成功的規則
Request 事件: events {#Request:events}
----------------------------------------
### request
(*function*) 當請求發送時觸發
#### 標識:
onRequest(instance)
#### 參數:
1. instance - (Request) Request實例
### success
(*function*) 當請求完成時觸發
#### 標識:
onSuccess(responseText, responseXML)
#### 參數:
1. responseText - (*string*) 請求響應的文本數據
2. responseXML - (*mixed*) 請求響應的XML對象
### failure
(*function*) 當請求失敗時觸發(根據http請求錯誤代碼判斷)
#### 標識:
onFailure(instance)
#### 參數:
instance - (Request) Request實例
### exception
(*function*) 當請求頭被設置成失敗時觸發
#### 標識:
onException(headerName, value)
#### 參數:
1. headerName - (*string*) 失敗請求頭的名字
2. value - (*string*) 失敗請求頭的值
### cancel
(*function*) 當請求被取消時觸發
#### 標識:
onCancel()
### 屬性:
* running - (*boolean*) 請求是否正在執行
* response - (*object*) 包含了text和XML兩個鍵的對象. 在success事件中可以訪問此屬性
### 返回值:
* (*object*) Request實例
### 示例:
var myRequest = new Request({
method: 'get',
url: 'http://site.com/requestHandler.php'
}).send('name=john&lastname=dorian');
### 另參考:
- [Wikipedia: XMLHttpRequest](http://en.wikipedia.org/wiki/XMLHttpRequest)
Request 方法: setHeader {#Request:setHeader}
--------------------------------------
增加或修改請求頭數據.
本方法不會覆蓋創建請求時給出的可選項中的請求頭信息.
### 語法:
myRequest.setHeader(name, value);
### 參數:
1. name - (*string*) 請求頭名
2. value - (*string*) 請求頭值
### 返回值:
* (*object*) Request實例
### 示例:
var myRequest = new Request({
url: 'getData.php',
method: 'get',
headers: {'X-Request': 'JSON'}
});
myRequest.setHeader('Last-Modified','Sat, 1 Jan 2005 05:00:00 GMT');
Request 方法: getHeader {#Request:getHeader}
--------------------------------------
獲取請求頭數據
### 語法:
myRequest.getHeader(name);
### 參數:
1. name - (*string*) 請求頭名
### 返回值:
* (*string*) 請求頭值
* (*null*) 未找到指定值,則返回null
### 示例:
var myRequest = new Request(url, {
method: 'get',
headers: {'X-Request': 'JSON'}
});
var headers = myRequest.getHeader('X-Request'); //返回 'JSON'.
Request 方法: send {#Request:send}
----------------------------
打開連接, 發送請求
### 語法:
myRequest.send([options]);
### 參數:
1. options - (*object*, 可選) 發送請求時的可選項. 也可以是一個查詢字符串(提供該功能僅僅是為了兼容之前版本的用法)
### 返回值:
* (*object*) Request實例
### 示例:
var myRequest = new Request({
url: 'http://localhost/some_url'
}).send("save=username&name=John");
Request 方法: cancel {#Request:cancel}
--------------------------------
取消執行中的請求
### 語法:
myRequest.cancel();
### 返回值:
* (*object*) Request實例
### 示例:
var myRequest = new Request({
url: 'mypage.html',
method: 'get'
}).send('some=data');
myRequest.cancel();
Hash: Element.Properties {#Element-Properties}
==============================================
參見[Element.Properties](/Element/Element/#Element-Properties)
Element 屬性: send {#Element-Properties:send}
-------------------------------------------------
### 設置
為元素設置一個Request實例(在使用ajax方式處理表單時非常有用)
#### 語法:
el.set('send'[, options]);
#### 參數:
1. options - (*object*) Request的可選項
#### 返回值:
* (*element*) 主調元素
#### 示例:
//myForm是一個表單
myForm.set('send', {
url: 'contact.php',
method: 'get'
});
myForm.send(); //發送表單數據
### 獲取
獲取先前設置的Request實例(或者使用默認可選項來創建的新實例)
#### 語法:
el.get('send'[, options]);
#### 參數:
1. options - (*object*, 可選) Request可選項. 如果給出了該項, 則將總是返回一個根據給出的可選項創建的一個新Request實例
### 返回值:
* (*object*) Request實例
#### 示例:
el.get('send', {method: 'get'});
el.send();
el.get('send'); //返回Request實例
Native: Element {#Element}
==========================
Element 方法: send {#Element:send}
------------------------------------
將一個表單元素或一個含有數據輸入元素的容器元素進行發送
### 語法:
myElement.send(url);
### 參數:
1. url - (*string*, 可選) 發送的目標URL. 如果發送的是表單元素, 若省略該URL, 則表單上的action屬性值將作為該URL的值. 如果是其他容器元素,則不能省略該URL.
### 返回值:
* (element) 主調元素
### 示例:
##### HTML
<form id="myForm" action="submit.php">
<p>
<input name="email" value="bob@bob.com">
<input name="zipCode" value="90210">
</p>
</form>
##### JavaScript
$('myForm').send();
### 備注:
* URL將嘗試從表單元素的action屬性上自動獲取
[$]: /Element/Element/#dollar
[Request:send]: #Request:send
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -