getJson方法调用

时间:2009-12-15 05:47:53

标签: jquery json

我在JQuery Code的50行之间使用以下方法。从Json结果,我必须做进一步的过程。它的作用是,当它第一次没有调用指定的url并且debuuger没有在里面打到JSon时。在所有下面的代码运行之后,它将获取结果并且调试器(在Json方法内)也被命中。你能解释一下,它在哪种方式起作用。是否是因为AJAX调用它允许下一个代码在完成之前运行。

var specExists = false;
url = '/CompanyAdd/SpecMathesWithProvAndContract'; debugger
$.getJSON(url, { OffId: OffID, CntId: CntID }, function(data) {
     debugger
     if (data) { debugger
     specExists = true;   
}   });

谢谢, 尼扎姆

2 个答案:

答案 0 :(得分:0)

只有在从服务器返回结果后才会调用function(data)。这是因为该函数是一个回调函数,这意味着它只会在JSON请求完成后执行。

因此,换句话说,当获得结果时,将调用Function(data)

答案 1 :(得分:0)

Ngu Soon Hui的回答是正确的。

执行ajax函数后,它将执行下一个代码。当{ajax完成时,callback function将异步执行,就像运行另一个线程一样。

但是我们可以通过在async函数中指定选项false = $.ajax()来让它等到执行下一个代码之前完成ajax调用。 $.getJSON()没有此选项。

$.ajax({
  type: "POST",
  url: "/CompanyAdd/SpecMathesWithProvAndContract",
  dataType: "json",
  data: { OffId: OffID, CntId: CntID },
  async: false
});