Страничка состоит из формы.
На форме все поля "обычные" - селекты, инпуты.
И одно поле - для аплоада картинок.
По сабмиту данные отсылаются и анализируется ответ в формате 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й день. Гугл и форум никаких результатов не дал(