Ajax 传参为对象的格式, 方便之后进行数据处理
注意数据格式的处理
get 和 post 的处理方式不同, 参数也不同
- function Ajax(obj){
- if(Windows.XMLHttpRequest{
- var xhr = new XMLHttpRequest();
- }else{
- var xhr = new ActiveXObject("Microsoft.XMLHTTP");
- }
- // 数据的形式通常是 key1=val1&key2=val2
- // 但是实际在开发的时候数据的通常表示形式是 {key1:val1,key2:val2}
- var str = '';
- for(var i in obj.data){
- str += i + '=' + obj.data[i] + '&';
- }
- str = str.replace(/&$/,'');
- if(obj.type.toLowerCase() == "get"){
- xhr.open("GET",obj.url+"?"+str,true);
- xhr.send();
- }
- if(obj.type.toLowerCase() == "post"){
- xhr.open("post",obj.url,true);
- xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- xhr.send(str);
- }
- xhr.onreadystatechane = function(){
- if(xhr.readyState == 4){
- if(xhr.status == 200){
- var data = xhr.responseText;
- obj.fn(data);
- }
- }
- }
- }
来源: http://www.jianshu.com/p/16eb7fe2736a