今天刚刚了解了Ajax的一个核心函数,由于对javascript还没有系统的学习,目前还没有深入研究Ajax。但是在运用此函数的同时也发现了一些问题--编码问题。这样在后台接收到的URL参数若果有汉字会是乱码的形式。另一个疑问是AJAX向服务器传参的方法只能在URL后接着键值对的形式吗?这是刚刚接触Ajax的我遇到的疑惑,不过经过研究open()中method为post时在URL中传参在后台也能接收,此时还可以在send() 方法中传递信息当然是键值对的形式在后台接收的汉字并不是乱码的
var xmlhttp =window.XMLHttp.Request? new XMLHttpRequest():new ActiveXObgect('Mixrosoft.XMLHTTP')//声明浏览器兼容的XMLHTTP对象,检查浏览器是否支持XMLHttpRequest.若果支持则创建XMLHttpRequest对象,若不支持则创建ActiveXObject
xmlhttp.open("method","Defalut.ashx",true);//(ˇˍˇ) Defalut.ashx向处理程序发送URL请求,post为发送方法。true 指定以异步方式发送,指定false后为同步发送。method可以为post或get
xmlhttp.onreadyststechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
//do some thing
alert(xmlhttp.responseText);
//XMLRequest的responseText来返回后台字符串形式的响应
}
else{
alert("Error")
}
}
}
//xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send();//若果是URL传参method为get,send() 不用任何参数
//如果是post方法传参则send()里加入要发送的数据(键值对的形式Name=zbq&Age=00)而且要设置setRequestHeader() 来添加 HTTP 头