Category: it

Category was added automatically. Read all entries about "it".

sun

Отправка форм и файлов ajax-ом или jQuery, jQuery.Form и IE8

Чисто программисткий пост, но не могу не удержаться, вдруг кому-то кроме меня из веб-разработчиков окажется полезным.

Для одного проекта решила придерживаться такой (довольно распространенной, надо заметить) схемы отправки (обработки) форм.
Есть страница, на ней есть форма. На сервер форма отправляется ajax-ом, с помощью небезысвестного jquery.form. На сервере проверяются отправленные данные и возвращается на страницу (без перезагрузки) некий ответ - либо все ок, запись сохранена (и далее следует редирект куда-нибудь, куда сервер же покажет), либо выводится сообщение о некорректных данных.

Плюс данного подхода - не надо перегружать страницу, и введенные пользователем данные никуда не пропадают (не надо их обратно странице передавать, выводить в форму), в общем - удобно, и пользователю в случае ввода некорретных данных достаточно подправить только те данные, которые не удовлетворили сервер.
Одна важная деталь: ответ сервер возвращал в JSON.

Пока вся разработка велась под Firefox 3.6, все было просто прекрасно - данные отправлялись, редиректы редиректились, количество форм на такой связке росло и увеличивалось, и тут... и тут заказчик уточнил, что ему очень надо, чтобы данный проект работал в IE8.
А как раз-таки в IE8 от этой связки работала ровно половина. Данные отправлялись, а вот сообщений от сервера не выводилось и, соответственно, редиректы не производились.


Collapse )


sun

Еще себе на память

Видимо, при юзании в качестве БД базы на фокспро (dbc), для связки с дельфи через ADO с провайдером MSDASQL.1, в ADOQuery существует какое-то ограничение на длину SQL-запроса в символах (ADOQuery.SQL.Text). Ну, точнее, у провайдера (драйвера).
Ничем иначе объяснить я блуждающий глюк с невозвращением набора строк не могу. (Один и тот же запрос на одних и тех же данных в фоксе дает одну строку, которая почему-то в дельфи не возвращается, и вообще ADOQuery заявлял, что он девственно пуст).
Ибо, выкинув из запроса пару полей, я добилась того, что строки в дельфи возвращаться стали всегда.

И еще себе на память четыре функции фокспро: sum(val(strtran(iif(isnull(pay_sum),'0',pay_sum),',','.'))).
А то при отсутствии в конкретно моей VFP справки и за неимением справочной литературы приходится дергать знакомых...

О, ужас! Мой ЖЖ превращается в типичный блог программиста...