ajax通用代码(javascript形式)
ajax实现异步请求通用代码:
<script type="text/javascript">
var xmlHttpRequst ;
function createXMLHttpRequst() { //创建xmlhttprequest对象
try{
// Firefox, Opera 8.0+, Safari
xmlHttpRequst=new XMLHttpRequest();
}
catch (e) {
//IE
try {
xmlHttpRequst = new ActiveXObject("MSXML2.XMLHTTP");
}
catch (e) {
try {
xmlHttpRequst = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("您的浏览器不支持ajax!");
}
}
}
}
// 发生请求函数
function sendRequst(url,param) {
createXMLHttpRequst();
//xmlHttpRequst.open("GET", url + "?" + param, true);//get形式
xmlHttpRequst.open("POST", url, true);
xmlHttpRequst.setRequestHeader("Content-Type", "multipart/form-data"); //post请求需要设置头部
xmlHttpRequst.onreadystatechange = processResponse;
//xmlHttpRequst.send(); //get发送请求
xmlHttpRequst.send(param); //post用于发送参数
}
//处理回传数据
function processResponse() {
if (xmlHttpRequst.readyState == 4) {
if (xmlHttpRequst.status == 200) {
var data = xmlHttpRequst.responseText;
alert(data);
}
}
}
//调用ajax
function usercheck() {
var userName = document.fmhjs.userName.value;
var pwd = document.form1.pwd.value;
var param = "用户名:" + userName + "------ ,密码:" + pwd;
var url = "jsHandle.ashx";
sendRequst(url,param);
}
</script>
在get提交中setRequestHeader貌似是无效的,不起作用的,在firefox中open方法必须在setRequestHeader之前,关于setRequestHeader的参数主要有这几种形式:
1、CONTENT-TYPE:application/x-www-form-urlencoded含义是表示客户端提交给服务器文本内容的编码方式 是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示
2、当然还有其他编码方式,如:CONTENT-TYPE:multipart/form-data
至于:Content-length 就是表示提交的数据字节大小
http有几种提交方式,其中比较常用的就是 GET 和 POST。
服务器端可以使用一般处理程序对ajax请求就行处理。
浙公网安备 33010602011771号