jQuery Uploadify Расширенный вопрос проверки файлов - PullRequest
1 голос
/ 22 августа 2010

После долгого поиска наилучшей техники загрузки я решил использовать jQuery Uploadify.

У меня нет проблем с его внедрением в существующий код, исключая одну вещь. Я создал строгие правила проверки загрузки.

Основная проблема в том, что функция onAllComplete () возвращает сообщение об успехе. В своем проверочном файле я также попытался use echo 'errror' и die('error'). Без удачи. Я искал Google и ТАК. Без удачи.

Есть ли у вас какие-либо идеи / советы / фрагменты? Любая помощь приветствуется.

Обновление
Чтобы прояснить мою ситуацию. Я использую функцию onComplete (), чтобы показать возможные, но у меня нет идея, как заставить функцию onAllComplete () отображать правильные данные.

Обновление 2 Я применил IgalSt (я уверен, что делал что-то подобное раньше), но все еще имел ту же проблему. Моя функция onComplete теперь выглядит следующим образом:

onComplete: function (ev, queueID, fileObj, response) {
    var result = $.parseJSON(response).success;
    alert(result);
            if (result == false) {
        alert('invalid')
    } else {
        alert('everything is OK');
        var size = Math.round(c.size/1024);
    }
    return false;
},

Если я alert(response) it alerts false`, значит, он должен работать. Любые предложения, почему это не так? Функция onAllComplete () по-прежнему показывает этот файл как успешно загруженный.

С уважением, Том

1 Ответ

2 голосов
/ 22 августа 2010

до тех пор, пока сервер вернет заголовок состояния 200, обратный вызов onAllComplete сработает.Обратный вызов onError сработает только тогда, когда вы вернете заголовок с ошибкой: например, 500 или 404.Следовательно, ваш код на стороне сервера должен возвращать ответ с флагом, если возникла проблема, и вы должны использовать onAllComple, чтобы выполнить какой-либо IF для чем.

Например, если вы возвращаете страницу JSON с ошибкой:

[{"success":"false"}]

Ваша функция onAllComplete будет выглядеть примерно так:

'onComplete':   function(ev, queueID, fileObj, response) {
            var result = $.parseJSON(response).success;
            if (!result)
              alert('invalid')
                        else
                           alert('everything is OK');
        }
...