我在SOF中发现了一个问题..但是没有找到解决方案..
这是我的代码..
if (mefofftasksxmlhttp!=null)
{
mefofftasksxmlhttp.onreadystatechange=sasi_ready(taskId);
mefofftasksxmlhttp.open("GET",url,true);
mefofftasksxmlhttp.send(null);
}
回调功能
function sasi_ready(tskId)
{
if (mefofftasksxmlhttp.readyState==4)
{
if (mefofftasksxmlhttp.status==200)
{
alert('Task Moved to completed Tasks');
$('#'+tskId).hide();
}
else
{
alert("Problem retrieving XML data");
}
}
}
当我在回调函数中传递一个参数时,这段代码不允许我进入回调..但当我删除参数..工作正常...
我哪里出错了?
答案 0 :(得分:2)
正如@ Beetroot-Beetroot已经说过:你需要将函数引用传递给onreadystatechange。如果要传递参数,只要此函数返回函数引用,您仍然可以使用此参数调用函数
function sasi_ready(tskId) {
return function() {
if (mefofftasksxmlhttp.readyState==4)
{
if (mefofftasksxmlhttp.status==200)
{
alert('Task Moved to completed Tasks');
$('#'+tskId).hide();
}
else
{
alert("Problem retrieving XML data");
}
}
}
}