Javascript Ajax總結——FormData類型

XMLHttpRequest1級只是把已有的XHR對象的實現細節描述出來。XMLHttpRequest2級進一步發展了XHR。
FormData類型
FormData類型,爲序列化表單以及建立以表單格式相同的數據提供了便利。
建立FormData對象,添加一些數據:
var data = new FormData();
// 2個參數:建和值,對應表單字段的名字和字段包含的值
data.append("name", "Anna");
//傳輸input上傳的文件
data.append("myFile", document.getElementById("inputFile").files[0]);

向FormData傳入表單元素能夠預先向其中填入鍵值對:
var data = new FormData(document.forms[0]);
//傳給XHR的send()方法
xhr.open("post", "test.php", true);
xhr.send(data);
使用FormData沒必要明確地在XHR對象上設置請求頭部。XHR對象可以識別傳入的數據類型是FormData的實例,而後配置適當的頭部信息。

overrideMimeType()方法
Firefox最先引入overrideMimeType()方法,用於重寫XHR響應的MIME類型。
返回響應的MIME類型決定了XHR對象如何處理它。
如,服務器返回的MIME類型是text/plain,但數據中實際包含的是XML。根據MIME類型,即便數據是XML,responseXML屬性仍然是null。調用overrideMimeType()方法,能夠保證把響應看成XML而非純文本處理。
var xhr = createXHR();
xhr.open("get", "text.php", true);
xhr.overrideMimeType("text/xml");
xhr.send(null);
支持overrideMimeType()方法的瀏覽器:Firefox、Safari4+、Opera10.5和Chrome。
相關文章
相關標籤/搜索