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请问哪里有问题