JQuery и Ajax - PullRequest
       10

JQuery и Ajax

1 голос
/ 13 мая 2009

Я работаю над добавлением асинхронной отправки формы в диалоге jquery. Я использую .ajax (). Все работает правильно, но подача занимает больше времени, чем хотелось бы. Я новичок в jquery и не уверен, как отладить / оптимизировать это. Как определить, находится ли задержка в передней или задней части?

Спасибо

Наташа

Ответы [ 4 ]

6 голосов
/ 13 мая 2009

Несмотря на то, что без некоторого кода невозможно по-настоящему узнать вашу конкретную ситуацию, никаких задержек не будет с Javascript, если вы не делаете что-то, что, очевидно, потребует много ресурсов браузера (сортировка больших таблиц, добавление большого количества HTML). и т. д.) Если все, что вы делаете - это захватываете данные, сериализуете их и отправляете их с помощью AJAX на сервер, и для ответа требуется много времени, то проблема в коде на стороне сервера. Вы можете проверить это с помощью инструмента, подобного Firebug , который показывает вам, когда запрос запускается, и сколько времени потребовалось серверу, чтобы ответить, как только он это сделает.

5 голосов
/ 13 мая 2009

Если у вас есть firefox, использующий firebug, на вкладке консоли он покажет вам, сколько времени потребовался запрос / ответ, вы также можете (если у вас есть доступ) записать, сколько времени занял бэкэнд-процесс, который, надеюсь, даст разумное представление о том, где находится задержка.

1 голос
/ 13 мая 2009

Если на серверной части нет какого-то ужасного кода, проблемы с вашей скоростью, вероятно, вызваны проблемами с сетью. JavaScript / Ajax вас не сдерживает, или, по крайней мере, интуитивно это не кажется вероятным.

0 голосов
/ 13 мая 2009

Чтобы определить, где находится замедление, вы можете использовать объект Date, чтобы получить текущее количество миллисекунд (сразу после нажатия кнопки отправки формы), а затем добавить функцию beforeSend в jQuery.ajax({beforeSend: function() { ... });, добавив время начало тега где-то на странице. Затем вы можете использовать complete, чтобы определить, сколько времени прошло с момента запуска.

Параметры jQuery.ajax: http://docs.jquery.com/Ajax/jQuery.ajax#options

JS Date object: http://www.w3schools.com/jsref/jsref_obj_date.asp

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