在JavaScript的一个方法中如何引用另一个方法里参数的值?
<script>varurl="./login_check.php";varxmlhttp=newXMLHttpRequest();functionyzminfo(){v...
<script>
var url = "./login_check.php";
var xmlhttp = new XMLHttpRequest();
function yzminfo(){
var yzm = yzmin.value;
var postStr = "yzm=" + yzm;
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(postStr);
xmlhttp.onreadystatechange = callyzm;
}
function callyzm(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var txt = xmlhttp.responseText;
var yzmtxt = txt.substr(2);
}
}
</script>
请问如何在yzminfo()方法中引用callyzm()方法中yzmtxt的值?谢谢! 展开
var url = "./login_check.php";
var xmlhttp = new XMLHttpRequest();
function yzminfo(){
var yzm = yzmin.value;
var postStr = "yzm=" + yzm;
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(postStr);
xmlhttp.onreadystatechange = callyzm;
}
function callyzm(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var txt = xmlhttp.responseText;
var yzmtxt = txt.substr(2);
}
}
</script>
请问如何在yzminfo()方法中引用callyzm()方法中yzmtxt的值?谢谢! 展开
3个回答
展开全部
那就用闭包呗:
<script>
var url = "./login_check.php";
var xmlhttp = new XMLHttpRequest();
function yzminfo(){
var yzm = yzmin.value;
var postStr = "yzm=" + yzm;
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(postStr);
xmlhttp.onreadystatechange = function () {
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var txt = xmlhttp.responseText;
var yzmtxt = txt.substr(2);
// 下面的代码中,你可以随意访问yzminfo中定义的变量。有什么功能在这里实现就行。你在回调函数外面访问yzmtxt是不安全的,那时候yzmtxt可能还没有返回,没有合法值。
// your code here
}
};
}
</script>
更多追问追答
追问
其实我的意思是最后能把yzmtxt的值return给yzminfo()来做判断用
追答
那也得回调完成后再判断啊。回调没完成呢。你判断个屁啊!浏览器端的环境是异步的,异步懂吗?
展开全部
xmlhttp.open("POST",url,false);
追问
你让我不异步了是什么意思?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script>
var url = "./login_check.php";
var xmlhttp = new XMLHttpRequest();
var yzmtxt = '';
function yzminfo(){
var yzm = yzmin.value;
var postStr = "yzm=" + yzm;
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(postStr);
xmlhttp.onreadystatechange = callyzm;
}
function callyzm(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var txt = xmlhttp.responseText;
yzmtxt = txt.substr(2);
}
}
</script>
声明成全局变量
var url = "./login_check.php";
var xmlhttp = new XMLHttpRequest();
var yzmtxt = '';
function yzminfo(){
var yzm = yzmin.value;
var postStr = "yzm=" + yzm;
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(postStr);
xmlhttp.onreadystatechange = callyzm;
}
function callyzm(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var txt = xmlhttp.responseText;
yzmtxt = txt.substr(2);
}
}
</script>
声明成全局变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询