0

可能重复:
ajax调用的结果来了后如何返回函数的值?

我有一个用于计算控制器中项目数量的功能。

function GetQtyItem() {
  var qty;
  var urlQuantity = "Quotation/CountQuantity";
  $.getJSON(urlQuantity, function (quantity) {
      qty = quantity.ja;
  });
  alert(qty); //3
  return qty;
}

我将文件名包含在正确的部分中,并在我的 asp.net mvc 项目的另一个视图中调用了此函数:

<script language="javascript" type="text/javascript">
  var i = GetQtyItem();
  alert(i);
</script>

但是警报对话框中的结果是Undefined.

谁能告诉我,我怎样才能用正确的值(3)提醒它。先谢谢了。

4

1 回答 1

1

$.getJSON 是一个 AJAX 请求......这需要时间。您必须等待数据返回,然后通知结果。

尝试这个:

var qty, i;
function GetQtyItem() {
  var urlQuantity = "Quotation/CountQuantity";
  return $.getJSON(urlQuantity, function (quantity) {
      qty = quantity.ja;
      alert('Request is done');
  });
}

i = GetQtyItem();
i.done(function() {
  alert("Quantity is " + qty);
});
于 2012-09-28T04:09:55.970 回答