Ajax множественный ответ - сообщить во время обработки - PullRequest
0 голосов
/ 08 мая 2011

Я использую ajax (jquery) для публикации элементов в моей базе данных.
перед отправкой в ​​базу данных мой скрипт проверяет, есть ли что-нибудь, например: во-первых, он проверяет, все ли в порядке с правилами, которые я дал, во-вторых, он проверяет, существует ли представленное изображение в БД, в-третьих, он проверяет, есть ли дубликаты, вычисляя схожий_текст с элементами на ту же дату.

Я хотел бы знать, как я могу сообщать каждый раз о php эхо, а не только в конце.

Я буду знать, на каком этапе я нахожусь, потому что первое эхо будет «1», второе будет «2», а третье будет «3» (1,12,123 эхо добавляет текст).

Спасибо.

Ответы [ 2 ]

1 голос
/ 08 мая 2011

То, как вы это описываете, невозможно. Если вы хотите получить несколько ответов, вам потребуется несколько запросов. Вы не можете сделать так, чтобы один вызов ajax возвращал несколько ответов.

Однако вы можете разбить его на несколько запросов. Сначала отправьте ajax-запрос, чтобы проверить правила проверки, 2-й - чтобы увидеть, существует ли он и т. Д. И затем вы можете сделать так, чтобы каждый обратный вызов вызывал следующий ajax-запрос в цепочке.

0 голосов
/ 08 мая 2011

Вам просто нужно <div> на вашей странице, чтобы вы могли .append текущий прогресс в .success() обратном вызове каждой из сообщений AJAX.

<div id="progress">

$.ajax( call1 ).success(function(resp) {
    // do something with resp
    $('#progress').append('step 1 done<br/>');

    $.ajax( call2 ).success(function(resp) {
        // do something with resp
        $('#progress').append('step 2 done<br/>');
    } 

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