js子函数的返回

LKK 2011-08-15 08:44:22

function myAjx(url,par){
var param=par+"&time="+new Date().getTime();
createXMLHttpRequest();
xmlHttpRequest.open("POST",url,true);
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttpRequest.onreadystatechange = function(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var res = xmlHttpRequest.responseText;
return res; //这里有个返回,但不是 myAjx()的返回
}else {
window.alert("请求页面异常");
}
}
}
xmlHttpRequest.send(param);
}

如上,如何获取那个res的返回?
...全文
107 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
prototyper 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lusizeng 的回复:]

引用 2 楼 hch126163 的回复:

1、同步请求

2、用回调函数

回调函数怎么用?JS我不大懂
[/Quote]

function myAjx(url,par,callback){
var param=par+"&time="+new Date().getTime();
createXMLHttpRequest();
xmlHttpRequest.open("POST",url,true);
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttpRequest.onreadystatechange = function(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var res = xmlHttpRequest.responseText;
callback.apply(res); //这里有个返回,但不是 myAjx()的返回
xmlHttpRequest = null;
}else {
window.alert("请求页面异常");
}
}
}
xmlHttpRequest.send(param);
}

myAjx("http://.....", par, function(){
alert(this) //该this就是请求成功后返回的res,在此进一步处理该数据。
})
Javascripters 2011-08-15
  • 打赏
  • 举报
回复
function myAjx(url,par,success){
success = success || function(){};
var param=par+"&time="+new Date().getTime();
createXMLHttpRequest();
xmlHttpRequest.open("POST",url,true);
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttpRequest.onreadystatechange = function(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
var res = xmlHttpRequest.responseText;
success.call(null,res);
}else {
window.alert("请求页面异常");
}
}
}
xmlHttpRequest.send(param);
}
//下面代码是如何调用
myAjx("url","par",function(data){
//data就是请求回来的数据
})
LKK 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hch126163 的回复:]

1、同步请求

2、用回调函数
[/Quote]
回调函数怎么用?JS我不大懂
LKK 2011-08-15
  • 打赏
  • 举报
回复
没人知道吗?请指点
hch126163 2011-08-15
  • 打赏
  • 举报
回复
1、同步请求

2、用回调函数
LKK 2011-08-15
  • 打赏
  • 举报
回复
在线等
LKK 2011-08-15
  • 打赏
  • 举报
回复
谢谢各位

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧