如何获取从javascript函数返回的值?

时间:2012-09-28 04:07:31

标签: javascript

  

可能重复:
  How to return the value of a function after the result of an ajax call has come?

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

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)。谢谢你提前。

1 个答案:

答案 0 :(得分: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);
});