Дополнительное свойство, возвращаемое с помощью async: false с использованием jQuery - PullRequest
1 голос
/ 20 сентября 2011

Я звоню на сервер, который возвращает JSON-кодированный объект.Этот объект должен присутствовать, прежде чем я смогу продолжить обработку, поэтому я устанавливаю async: false в запросе, который выглядит следующим образом:

    var response = null;
    $.ajax({
        type: 'POST',
        url: 'ajax/test',
        dataType: 'json',
        async: false,
        data : ({data : requests}),
        success: function(data) {
            response = data;
        }
    });

Если установлено async: true, я получаю следующий возвращенный объект:

openGeolocationDialog   Object { show=0, data=""}

Если установлено async: true, я возвращаю тот же объект, но с дополнительным свойством jQuery ...:

openGeolocationDialog   Object { show=0, jQuery16209069375968417921={...}, data=""}

Почему это возвращается икак я могу подавить это?

1 Ответ

0 голосов
/ 20 сентября 2011

Синхронные запросы плохие с точки зрения пользователя: они блокируют браузер.

Вы должны просто продолжить обработку в обратном вызове успеха:

$.post('ajax/test', {request: data}, function(response) {
     // continue here
});

Взгляните на Отложено тоже.

Кстати, вам не нужно dataType: 'json', если сервер возвращает правильный тип контента (т.е. application/json).

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