ajax回调时的怪问题
//通过post方式请求数据
function callServerByPost(url,data,fun) {
var http_reques=null;
if (window.ActiveXObject){ // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}else if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
}
if (!http_request) {
alert('Giving up :Cannot create an XMLHTTP instance');
return false;
}
http_request.onreadystatechange = fun;
http_request.open("POST", url, true);
http_request.setrequestheader("Content-length",data.length);
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
try{
http_request.send(data);//传送资料
}catch(e){
alert("error");
}
}
function ajax_post(url,data) {
url=url+"?t="+new Date();
callServerByPost(url,data,function fns(){
if(http_request.readyState == 4) {
if (http_request.status == 200) {
return http_request.responseText;//在这里明明调试时http_request.responseText已经有值但是在外边却接收不到
} else {
alert("你请求数据有错");
}
}
});
}
function getData(){
var url="ajax_server.aspx";
var data="name=ljp&pwd=ljp";
var t=ajax_post(url,data);
alert(t);//在这里弹出undefined
}
</script>
-----------------------------------
不知道是不是ajax的问题还是
callServerByPost(url,data,function fns(){
if(http_request.readyState == 4) {
if (http_request.status == 200) {
return http_request.responseText;//在这里明明调试时http_request.responseText已经有值但是在外边却接收不到
} else {
alert("你请求数据有错");
}
}
});
这里写法问题,还请大家提示下怎么回事。