ajax get提交,JavaScript的Ajax之GET提交数据

本文介绍了如何创建一个基于Ajax的函数,通过XMLHttpRequest或ActiveXObject处理GET和POST请求,展示了参数名值对转换和异步回调的使用实例,适合前端开发者学习前端数据交互技术。
摘要由CSDN通过智能技术生成
封装ajax

function createXHR()

{

if(typeof XMLHttpRequest != "undefined")

{

return new XMLHttpRequest();

}

else if(typeof ActiveXObject != "undefined")

{

var versions = [

"MSXML.2.XMLHttp.6.0",

"MSXML.2.XMLHttp.3.0",

"MSXML.2.XMLHttp"

];

for(var i = 0; i

{

try{

return new ActiveXObject(version[i]);

}catch(e){

// 因类循环会报一个错,跳过些错

}

}

}

else

{

throw new Error("你的系统或浏览器不支持XHR对象!");

}

}

// 名值对转换字符串

function params(data)

{

var arr = [];

for(var i in data)

{

arr.push(encodeURIComponent(i)+"="+encodeURIComponent(data[i]));

}

return arr.join("&");

}

// ajax

function ajax(obj)

{

var xhr=createXHR();

obj.url=obj.url+"?rand="+Math.random()+"&"+params(obj.data);

obj.data = params(obj.data);

if(obj.method === "GET")

{

obj.url=obj.url+"&"+obj.data;

}

xhr.onreadystatechange = function()

{

if(xhr.readyState == 4)

{

if(xhr.status == 200)

{

obj.success(xhr.responseText)

}

else

{

console.log("错误码:"+xhr.status+"-错误信息"+xhr.statusText);

}

}

}

xhr.open(obj.method,obj.url,obj.async);

xhr.send(null);

}

// use ajax

addEventListener("click",function(){

ajax({

method:"GET",

url:"test.php",

data:{

"na&me":"ping",

"age":18

},

// 将对象传到text,然后对象又回调

success:function(text)

{

console.log("接收success数据为:"+text);

},

async:true

});

},false);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值