/*對ajax的data資料進行編碼*/
u.encodedata=function
(data)
return pairs.join('&');
} if(u.isarray(data))
return pairs.join('&');
} return
newerror('資料不符合格式');
};/*判斷資料型別是否為陣列*/
u.isarray=function
(o)
/*判斷資料型別是否為物件*/
u.isobject=function
(o)
有了這些函式以後,就可以對data進行編碼,進行ajax請求時就可以使用多種型別的data,而不必拘泥於格式。
完整的**如下所示:
var u=window.u||{};
u.createxhr=function
() ,
function
() ,
function
() ];
for(var i=0;i<3;i++) catch(e)
this.createxhr=methods[i];
return methods[i]();
}throw
newerror("沒有找到xhr物件");
};/*對ajax的data資料進行編碼*/
u.encodedata=function
(data)
return pairs.join('&');
} if(u.isarray(data))
return pairs.join('&');
} return
newerror('資料不符合格式');
};u.isarray=function
(o)
u.isobject=function
(o)
u.ajax=function
(options) else
} xhr.open(method,url,true);
xhr.onreadystatechange=function
() } else }}
if(!file)
xhr.send(data);
}
在程式的引數中存在乙個file ,該引數表示data是否存在檔案物件,當需要在ajax請求中包含檔案時,可使用xhr2的formdata api。利用formdata將檔案包含在data中,同時設定file引數為true,即可在ajax請求中包含檔案。
該方法的缺陷是只有在支援xhr2的瀏覽器才可實現,存在一定的相容性問題。
原生js實現Ajax
一般來說,大家可能都會習慣用jquery提供的ajax方法,但是用原生的js怎麼去實現ajax方法呢?jquery提供的ajax方法 ajax success function error function 原生js實現ajax方法 var ajax obj.send post function u...
原生js實現Ajax
ajax success function error function 原生js實現ajax方法 var ajax xhr.send datat應為 a a1 b b1 這種字串格式,在jq裡如果data為物件會自動將物件轉成這種字串格式 post function url,data,fn xhr...
原生js實現Ajax
一般來說,大家可能都會習慣用jquery提供的ajax方法,但是用原生的js怎麼去實現ajax方法呢?jquery提供的ajax方法 ajax success function error function 原生js實現ajax方法 var ajax xhr.send post function u...