js和ajax同时使用无返回值的问题
如下js:
function getuser(name,type){
var msg="";
$.ajax({
type:"POST",
url:"../getuserid.do?name="+name+"&type="+type,
success:function(flag)
{
if(flag== "0"){
alert("您不是我们的用户,请注册后使用本功能!");
window.location.reload();
msg=0;
}
if(flag== "1")
{
msg=1;
}
},
error:function(){
alert("提交失败,请稍候重试!");
window.location.reload();
}
});
return msg;
}
使用上面程序发现并没有值返回,即return语句并不起作用,返回的值为空。
解决方法:
只需在前面加上
async:false,
即可解决
程序如下:
function getuser(name,type){
var msg="";
$.ajax({
type:"POST",
async:false,
url:"../getuserid.do?name="+name+"&type="+type,
success:function(flag)
{
//alert("flag="+flag);
if(flag== "0"){
alert("您不是我们的用户,请注册后使用本功能!");
window.location.reload();
msg=0;
}
if(flag== "1")
{
msg=1;
}
},
error:function(){
alert("提交失败,请稍候重试!");
window.location.reload();
}
});
return msg;
}