为什么变量的这个值没有使用return语句返回

时间:2010-11-27 22:10:48

标签: jquery jquery-selectors

Iam调用Ajax函数

function validateemp(){
var exists="";
$.ajax({
  url: "emp.php",
  async: false,
  dataType: "json",
  data: {'param1': $("#param1").val(), 'empno': $("#empno").val()},
  success: function (data) {
    exists = data.status;
  }
});
alert("exists==>"+exists);
return exists;
}

Iam无法返回“exists”值的值。我能够获得“exists”的确切值,无论是true还是false。由于此值不返回true或false我无法构建提示.if我明确地返回true或false我能够建立提示。我做错了什么

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题和评论,你的JSON输出包含一个字符串,而你想返回一个布尔值。如果是这样,那么这样的事情应该有效:

success: function (data) {
    exists = data.status === "true";
}

答案 1 :(得分:0)

构造该段代码的最佳方法是在请求成功时调用事件并在该事件中传递参数。我的猜测是,它不一定等待AJAX​​请求完成或指针丢失。

无论如何,重组它会更有益。