……
searchReq.open("get",url);
searchReq.onreadystatechange=handleSearchSuggest; //A
searchReq.send(null);
……function handleSearchSuggest(){//B
……
}如上代码中,如果我要在A,传递一个变量str给B,如何操作呢?直接写 searchReq.onreadystatechange=handleSearchSuggest(str) function handleSearchSuggest(str);提示A处“尚未实现”,但是在B,用alert确能得到str的值。既然有报错,这么写应该还是不对吧?应该怎么传递呢?
searchReq.open("get",url);
searchReq.onreadystatechange=handleSearchSuggest; //A
searchReq.send(null);
……function handleSearchSuggest(){//B
……
}如上代码中,如果我要在A,传递一个变量str给B,如何操作呢?直接写 searchReq.onreadystatechange=handleSearchSuggest(str) function handleSearchSuggest(str);提示A处“尚未实现”,但是在B,用alert确能得到str的值。既然有报错,这么写应该还是不对吧?应该怎么传递呢?
2 如果你真想要传值给B,那你在url中也要包含你的值,当执行完后返回给B
<?xml version="1.0" encoding="utf-8"?>
<root>
<message id="1">
<text>86-中国-021</text>
</message>
</root>如最后那个021是需要返回给handleSearchSuggest的,这个怎么在handleSearchSuggest里面接收呢?
$.post(....);
$.get(.....);
一是URL写参数.
二个GET传递改为POST.
var obj = 你要传的东西;
然后searchReq.send(obj);
第一步声明函数:function handleSearchSuggest(){//B
……
}第二步为该函数新增一个属性Messagestr:handleSearchSuggest.Messagestr="message";/*这样函数handleSearchSuggest就拥一个Messagestr的属性了*/第三步骤你的调用:searchReq.open("get",url);//此处为handleSearchSuggest的Messagestr属性赋值handleSearchSuggest.Messagestr="NewValue";
searchReq.onreadystatechange=handleSearchSuggest; //A
searchReq.send(null);
……function handleSearchSuggest(){//B/*在B中引入这个属性用到了arguments.callee(代表正在执行的函数本身,这里是就是:handleSearchSuggest)*/alert(arguments.callee.Messagestr);……
}