小弟也是新手 请 各位 给个详细的解释 关于函数的返回值
另外给个代码 比如下面的msg我想产生一个返回值 然后到另一个函数里边使用 怎么才能做到
function chkLog(url,postStr){
var ajax;
ajax = XmlHttp.mf_createxmlhttp(); //创建AJAX引擎
ajax.open("POST",url,true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
ajax.send(postStr);
ajax.onreadystatechange=function() {
if(ajax.readyState == 4 && ajax.status == 200)
{
var msg = ajax.responseText;
}
}
}
另外给个代码 比如下面的msg我想产生一个返回值 然后到另一个函数里边使用 怎么才能做到
function chkLog(url,postStr){
var ajax;
ajax = XmlHttp.mf_createxmlhttp(); //创建AJAX引擎
ajax.open("POST",url,true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
ajax.send(postStr);
ajax.onreadystatechange=function() {
if(ajax.readyState == 4 && ajax.status == 200)
{
var msg = ajax.responseText;
}
}
}
异步是为了更高的效率和更好的用户体验,但是编写异步程序的时候一定要换换你的思维方式,它不和普通程序一样是一条路走下来的,而是有点跳跃式的感觉,不知道这么说你明不明白。一般来说把得到结果之后要做的事情扔到onreadystatechange那个函数里面就可以了。
var ajax;
ajax = XmlHttp.mf_createxmlhttp(); //创建AJAX引擎
ajax.open("POST",url,true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
ajax.send(postStr);
ajax.onreadystatechange=function() {
if(ajax.readyState == 4 && ajax.status == 200)
{
var msg = ajax.responseText;
yourfunc(msg);//直接调用你的函数
}
}
}
function chkLog(url,postStr){
var ajax;
ajax = XmlHttp.mf_createxmlhttp(); //创建AJAX引擎
ajax.open("POST",url,true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
ajax.send(postStr);
ajax.onreadystatechange=function() {
if(ajax.readyState == 4 && ajax.status == 200)
{
msg = ajax.responseText;
}
}
}
ajax.open('POST',url,false);直接return