Вызов метода getJson - PullRequest
       18

Вызов метода getJson

0 голосов
/ 15 декабря 2009

Я использую приведенный ниже метод между 50 строками кода JQuery. Исходя из результатов Json, я должен сделать дальнейший процесс. Что он делает, когда в первый раз он не вызывает указанный URL и отладчик не попадет внутрь JSon. После того, как весь приведенный ниже код выполняется, он выбирает результат, и отладчик (внутри метода Json) также запускается. Не могли бы вы объяснить мне, как это работает. из-за AJAX Call он разрешает запуск следующего кода до его завершения.

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

Спасибо, Низам

Ответы [ 2 ]

0 голосов
/ 15 декабря 2009

Нгу Вскоре Хуэй ответит правильно.

после выполнения функции ajax он выполнит следующий код. функция обратного вызова будет выполняться асинхронно, как запуск другого потока, когда завершится ajax.

но мы можем заставить его ждать завершения вызова ajax, прежде чем выполнять следующий код, указав параметр async = false в функции $.ajax(). $.getJSON() не имеет этой опции.

$.ajax({
  type: "POST",
  url: "/CompanyAdd/SpecMathesWithProvAndContract",
  dataType: "json",
  data: { OffId: OffID, CntId: CntID },
  async: false
});
0 голосов
/ 15 декабря 2009

function(data) будет вызываться только после того, как результат будет возвращен с сервера. Это потому, что эта функция является функцией обратного вызова, то есть она будет выполняться только после завершения запроса JSON.

Другими словами, когда будет получен Результат, будет вызван Function(data).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...