请教一个JS方面的问题 10
js代码:varsrt=8;xmlhttp.onreadystatechange=function(str){alert(str);if(xmlhttp.readySta...
js代码:
var srt=8;
xmlhttp.onreadystatechange=function(str){
alert(str);
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("txtHint").value=xmlhttp.responseText;
}
}
请问str这个参数怎么才能传进行函数里面?也就是怎样对能使alert(str)有结果!谢谢了! 展开
var srt=8;
xmlhttp.onreadystatechange=function(str){
alert(str);
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("txtHint").value=xmlhttp.responseText;
}
}
请问str这个参数怎么才能传进行函数里面?也就是怎样对能使alert(str)有结果!谢谢了! 展开
1个回答
展开全部
onreadystatechange 对应于ajax request, 所以数据是ajax来产生的,并不是你能传入的。
可以用closure来做
xhttp.onreadystatechange = (function(str) {
return function() {
/* Do stuff */
}
})(xhttp, msg);
追问
还是看不懂,能再说明白一点吗?
追答
onreadtstatechange 是跟ajax绑定的,并不是个可以正常调用的函数。
xhttp.onreadystatechange = (function(x, str) {
return function() {
/* Do stuff */
}
})(xhttp, msg);
所以只能用closure来做把参数传进去。 而且一般情况下onreadystatechange是用来处理ajax的返回值的,并不是一个可以处理一般变量的函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询