XMLHttpRequest2级(自己的笔记首先自己要看得懂)

一、FormData

  1、位序列化表单以及创建与表单格式相同的数据提供了便利

 var xhr = createXHR();        
            xhr.onreadystatechange = function(event){
                if (xhr.readyState == 4){
                    if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){
                        alert(xhr.responseText);
                    } else {
                        alert("Request was unsuccessful: " + xhr.status);
                    }
                }
            };
            
            xhr.open("post", "postexample.php", true);

            // 通过向FormData构造函数中传入表单元素或者表单元素的数据预先向其中填入键            // 值对儿
            var form = document.getElementById("user-info");            
            xhr.send(new FormData(form));

  2、overrideMimeType()方法

  what:用于重写XHR响应的MIME类型(多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。);

  why:因为返回响应的MIME类型决定了XHR对象如何处理它,所以提供这个方法来重写服务器返回的MIME类型是很有用的;

  eg:比如服务器返回的是纯文本类型,但数据中实际包含的是XML,根据MIME类型,即使数据是XML,reaponseXML属性中仍然是null。通过调佣overrideMimeType()方法,可以保证把响应当做XML而非纯文本来处理。必须在调用send()方法之前。

var xhr = createXHR();
xhr.open("get","text.php",true);
xhr.overrideMimeType("text/xml"); // 强制XHR对象将响应当做XML而非纯文本处理
xhr.send(null);

 

  

 

 

 

 

posted @ 2017-04-22 17:20  FernLi  阅读(156)  评论(0)    收藏  举报