HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="new_ajax.js"></script>
</head>
<body>
<input id="btn" type="button" value="btn" />
<script>
var oBtn = document.getElementById('btn');
oBtn.onclick=function()
{
ajax("a.txt",function(str){
alert(str);
});
};
</script>
</body>
</html>
new_ajax.js 文件 :
function ajax(url,Succ,Fail)
{
if(window.XMLHttpRequest)
{
var oAjax = new XMLHttpRequest();
}
else
{
var oAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
oAjax.open("GET",url,true);
oAjax.send();
oAjax.onreadystatechange=function()
{
if(oAjax.readyState == 4)
{
if(oAjax.status == 200)
{
Succ(oAjax.responseText);
}
else
{
if(Fail)
{
Fail(oAjax.status);
}
}
}
}
};
第一 : 请问new_ajax.js文件最后,判断数据返回错误的情况下,succ()和Fail()是什么意思?为何不是写成 function succ()的和function Fail()的形式。
第二 : html文件中,调用ajax方法的时候
ajax("a.txt",function(str){
alert(str);
});
// 这里为何要写成function(str){}的形式? 那么之前封装的ajax函数中,里面不是oAjax.responseText么?到了html里面调用的时候,为何成了str。
小白不太懂,望各位大神详细指点。
乀(ˉεˉ乀)
new_ajax.js 文件内部的Succ() 和 Fail() 调用的是 function ajax(url,Succ,Fail) 时候传进来的参数,其中Succ 和 Fail参数需要是函数类型,在调用ajax() 函数时传进来,
在html文件中的
ajax("a.txt",function(str){
alert(str);
});
function(str){}代表的就是Succ,其中str的值就是 new_ajax.js 文件中
Succ(oAjax.responseText);的值即oAjax.responseText,
这个ajax调用中 缺省了 Fail 参数