Показать сообщение отдельно
  #1 (permalink)  
Старый 17.08.2009, 00:16
Новичок на форуме
Отправить личное сообщение для Ксандер Посмотреть профиль Найти все сообщения от Ксандер
 
Регистрация: 16.08.2009
Сообщений: 6

Ошибка в jquery.forms ? Помогите разобраться.
Страничка состоит из формы.
На форме все поля "обычные" - селекты, инпуты.
И одно поле - для аплоада картинок.

По сабмиту данные отсылаются и анализируется ответ в формате JSON.

За обработку отвечает следующая функция:
$(document).ready(function() {
    var my_success = function(resp, st) {
    ...
    }
    $("#my_form").submit(function() {
        set_varlen_data();
    });
    $("#my_form").ajaxForm({dataType: 'json', success: my_success});
});


собсно функция my_success обрабатывает ответ JSON.

Так вот. Если вводятся все поля КРОМЕ картинки(её аплоада) - то
посылается браузером "нормальный" запрос

Заголовки запроса
Host room404.no-ip.org:8081
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)
Accept application/json, text/javascript, */*
Accept-Language ru,en-us;q=0.7,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
Referer http://room404.no-ip.org:8081/input/
Content-Length 186
Cookie sessionid=ac0b8ea2b1598ae4f3650fde85a29f30

И получается нормальный ответ

Заголовки ответа
Date Sat, 15 Aug 2009 12:31:09 GMT
Server WSGIServer/0.1 Python/2.6.2
Content-Type application/json

Соответственно был запрошен json, он отработался в my_success
и отрисовались либо сообщения об ошибке, либо всё как должно было быть.


Если же среди данных есть ВВЕДЁННАЯ КАРТИНКА(на аплоад) - посылается "неправильный" запрос(почему- так и не понял. На дебаге застрял, пишу сюда....)

Заголовки запроса
Host room404.no-ip.org:8081
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language ru,en-us;q=0.7,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Referer http://room404.no-ip.org:8081/input/
Cookie sessionid=ac0b8ea2b1598ae4f3650fde85a29f30

Но на сервере написано, что этой форме всё-равно нужно отдавать json,
(она должна смочь обрабатывать json) - это можно заблокировать, но пока идёт отладка. Вообщем ситуация обычная.

Заголовки ответа
Date Sat, 15 Aug 2009 12:23:46 GMT
Server WSGIServer/0.1 Python/2.6.2
Content-Type application/json

Вот такой вот ответ. В следствие того, что сервер не интерпретирует(видимо) это как json - выскакивает окошко "сохранить файл, который является application/json" - а этот ответ должна была обработать функция my_success, забиндиная ajaxForm ещё в document.ready......

Одним словом - надо сделать так, чтобы и с картинкой работало. Т.е. чтобы и с картинкой запрашивался json.... И на него биндился my_success....

Где ошибка - ума не приложу... Вожусь уже 4й день. Гугл и форум никаких результатов не дал(
Ответить с цитированием