При POSTing через AJAX / jQuery, один большой запрос или много маленьких? - PullRequest
3 голосов
/ 09 сентября 2010

Хорошо, я собираюсь создать довольно сложную форму для публикации через AJAX множества различных типов PHP-страниц с информацией, которая затем будет анализировать данные и отбирать различные типы данных в правильные таблицы в другой базе данных.

Обычно я просто отправляю запрос HUGE POST и затем анализирую информацию на странице PHP, делая несколько запросов CURL по пути публикации различных элементов.

Недостатком является то, что форма не очень отзывчива, обычно PHP-странице требуется 5-10 секунд, чтобы дать согласие. Мне бы хотелось, чтобы эта новая форма была более быстрой и удобной для ввода данных, позволяя пользователю переходить к следующей записи без помех.

Так что вам нужен профессиональный совет: сделать 5 запросов AJAX на 5 страниц PHP или придерживаться большой нагрузки?

С точки зрения масштаба, как правило, не будет много пользователей одновременно (это является внутренним для организации), я пытаюсь оптимизировать работу одного человека, отправляющего много записей снова и снова с одной и той же формой.

Любые советы приветствуются и приветствуются.

Ответы [ 3 ]

1 голос
/ 09 сентября 2010

Страница PHP, которая затем будет анализировать данные и отбирать различные типы данных в правильные таблицы в другой базе данных.

Вы делаете HTTP-запрос? Если да, вам следует придерживаться одного большого AJAX-вызова, потому что в противном случае вам придется устанавливать HTTP-соединение 5 раз, а для установления соединения требуется время!

1 голос
/ 09 сентября 2010

На веб-странице, где есть различные поля, я склонен считать, что лучше всего просто отправлять данные по мере их ввода пользователями, а jquery облегчает обработку событий, поэтому в случае возникновения проблем у пользователей могут быть проинформированы быстро.

Но если данные должны обрабатываться как группа, например, у вас есть матрица 100x100, и только когда она заполнена, вы можете выполнять математику, тогда работает один большой пост.

Таким образом, это зависит от того, если вы не можете подтвердить, пока у вас нет всей связанной информации, например, вы не знаете, является ли адрес действительным, пока у вас нет улицы, города, штата, затем подождите, пока все три введите и отправьте информацию.

Без дополнительной информации о том, что делается, трудно действительно ответить на вопрос, но, как правило, представьте наименьшее количество информации, которая полезна, чтобы дать пользователю самый быстрый ответ, если есть ошибка.

0 голосов
/ 09 сентября 2010

Следует помнить одну вещь: если вы используете файловые сеансы, и все эти «5 сообщений» обрабатываются одним и тем же сайтом / сервером, вы не сможете использовать эти 5 POST параллельно.PHP будет налагать эксклюзивные блокировки на файл сеанса для каждого запроса, поэтому они будут эффективно обрабатываться последовательно, а не параллельно.

Если вы не сделаете session_write_close() в каждом, вы будете лучшевместо этого сделайте один большой POST и сэкономьте дополнительные издержки на установление / разрыв 5 соединений.

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