要记住ajax默认的是异步。就是说如果不加alert中断接下来代码的运行的话,
success:function(result){
ret = result.d;
},
这个部分还没运行,这是要等服务器端成功返回信息后才执行的。
如果成功返回信息的时间晚于你点击了alert的时间,flag依然是undefined的,现在可以获得是因为返回信息的时间短 追问 这个我稍微明白,但是,上述 ExecAjax 方法我该怎样修改处理?才能获得返回值?不弹消息窗口的。我主要是想知道这个 回答 返回不了。要在成功后执行上面函数,直接写在success里面或者在success中调用你的function
比如
function ExecAjax(urlStr, dataStr)
{
$.ajax({
type:"POST",
contentType: "application/json",
url: urlStr,
data: dataStr,
dataType:"json",
success:function(result){
var ret = result.d;
myfuncion(ret);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(XMLHttpRequest.responseText);
}
});
}
function myfunction(r){
alert(r);
} 追问 有了更简单的办法,还是很感谢你的。
另外,你这个方法我好像试过,貌似不灵光,不记得了,一会儿再试下。
谢谢!