我在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;
} });
谢谢, 尼扎姆
答案 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
});