Ajax的最后的一个//处理服务器响应
function processRequest(){
//4表示请求已经完成
if(http_req.readyState == 4){
alert("正在处理服务器响应,请求已经完成");
if(http_req.status==200){
//获取服务端的响应文本
var ajaxR;
ajaxR=http_req.responseText;
//处理返回数据,这里直接返回
alert("在处理函数里面的服务器,\n\n----------------------------\n\n返回是这个"+ajaxR);
return ajaxR;
}else{
alert("发送异常!");
return false;
}
}
}最后的这一步骤,在里面会有那个alert("在处理函数里面的服务器,\n\n----------------------------\n\n返回是这个"+ajaxR)出现,是得到了服务器的返回,但是如何将这个给return出来呢?
试了很多中方法,就是无法得到里面的值,怎么才可以做到啊?
快崩溃了。。
小PS下:CSDN改版了,还不如以前的那么好看些。感觉字体和配色很不好看的那种,希望CSDN能够将原先的改回来。
function processRequest(){
//4表示请求已经完成
if(http_req.readyState == 4){
alert("正在处理服务器响应,请求已经完成");
if(http_req.status==200){
//获取服务端的响应文本
var ajaxR;
ajaxR=http_req.responseText;
//处理返回数据,这里直接返回
alert("在处理函数里面的服务器,\n\n----------------------------\n\n返回是这个"+ajaxR);
return ajaxR;
}else{
alert("发送异常!");
return false;
}
}
}最后的这一步骤,在里面会有那个alert("在处理函数里面的服务器,\n\n----------------------------\n\n返回是这个"+ajaxR)出现,是得到了服务器的返回,但是如何将这个给return出来呢?
试了很多中方法,就是无法得到里面的值,怎么才可以做到啊?
快崩溃了。。
小PS下:CSDN改版了,还不如以前的那么好看些。感觉字体和配色很不好看的那种,希望CSDN能够将原先的改回来。
事件在函数中 形成双重事件响应 稍微不注意就得不到你想要的结果这段代码没有问题 你还是看看代码的运用环境 有没有逻辑上的问题
1.没有调用ajax方法,http_req对象为空
2.http_req对象的readyState很难碰巧刚好为4
所以,楼主如果想得到ajax返回的值另外处理,还是先赋值给一个隐藏控件,再从里面取吧
同步就是程序从上至下依次执行
异步简单的打个比方你坐火车去洛阳,中途到保定你下车买东西 火车是不会等你上车再走的,而是继续开往洛阳
ajax--异步javascript和XML 就相当于你中途买东西 你return的时候 程序已经执行完了去掉return 定义一个全局变量 赋值flase
//处理服务器响应
function processRequest(){
//4表示请求已经完成
if(http_req.readyState == 4){
alert("正在处理服务器响应,请求已经完成");
if(http_req.status==200){
//获取服务端的响应文本
var ajaxR;
ajaxR=http_req.responseText;
//处理返回数据,这里直接返回
//alert("在处理函数里面的服务器,\n\n----------------------------\n\n返回是这个"+ajaxR);
//return ajaxR;
document.getElement("getValue_id").innerHTML = ajaxR;
}else{
alert("发送异常!");
return false;
}
}
}
</script>
<div id="getValue_id">在这里显示内容</div>
function processRequest(obj){
....
document.getElement(obj).innerHTML = ajaxR;
...
}