1.ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false,//同步。
2.必须定义一个全局变量 var result = ""来保存返回值。否则得到的是undefined
functionGetReturnValue(url, jsonText) {
varresult ="";
$.ajax({
type:"POST",
url: url,
data: jsonText,
contentType:"application/json;charset=utf-8",
dataType:"json",
async:false,//同步
success:function(json) {
result = eval(‘(‘+ json.d +‘)‘);
}, failure:function() {
result ="";
}
})
returnresult;
}
方法二
通过传入一个函数解决这个问题。
代码:
Copy to Clipboard引用的内容:[www.veryhuo.com]
function getAjaxReturn(success_function,fail_function)
{
var bol=false;
$.ajax({
type:"POST",
url:"ajax/userexist.aspx",
data:"username="+vusername.value,
success:function(msg){
if(msg=="ok"){
showtipex(vusername.id,"<img src=‘images/ok.gif‘/><b><font color=‘#ffff00‘>该用户名可以使用</font></b>",false)
success_function(msg);
}
else
{
showtipex(vusername.id,"<img src=‘images/cancel.gif‘/><b><font color=‘#ffff00‘>该用户已被注册</font></b>",false);
vusername.className="bigwrong";
fail_function(msg);
//return false;
}
}
});
function success_function(info)
{
//do what you want do
alert(info);
}
funciont fail_function(info)
{
//do what you want do
alert(info);
}按需选择自己需要的方案吧。一般大网站都采用第2种传入函数的方式,来处理成功和失败情况下的页面提示。
Jquery ajax 得到返回值