当前位置:编程学习 > JS >>

AJAX的一个问题。函数的回调

function sendRequest(callback,url){
if(window.XMLHttpRequest){
req=new XMLHttpRequest();
req.onreadystatechange=callback;
req.open("GET",url.true);
req.send(null);
}
else if (window.ActiveXObject){
req=new ActiveXObject("Microsoft.XMLHTTP");
if(req){
req.onreadystatechange=callback;
req.open("GET",url.true);
req.send(null);
}
}
}
请问这里callback是怎么一回事。xmlhttprequest=函数名;这样才对啊,可这里怎么是个参数呢
补充:不是很清楚啊
		
答案:
去查在哪调用的sendRequest,里面的参数就是函数名,在脚本里去查调用的函数名。
答案补充
呵呵,js里可以传递函数名,明白了没?
答案补充
XMLHttp.onreadystatechange = function() 
{if (objXMLHttp.readyState==4)
........这是里代码}
也可以写成
XMLHttp.onreadystatechange = callback;

function callback()
{if (objXMLHttp.readyState==4)
.....这里是代码
}
答案补充
呵呵,我用我的代码了,XMLHttp就是你的req,objXMLHttp写错误了,因该XMLHttp,也就是你的req
答案补充
callback是当异步执行的时候回调的函数,根据readyState的值来判断是否执行完成,如果等于4就是send完成,然后使用status来判断执行结果,如果等于200,表示正确,500是服务端执行出现错误,responseText是从服务端返回的值。

上一个:thinkphp ajax 模板 中文 乱码
下一个:AJAX 刚接触AJAX请问哪里有问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,