В посте jQuery AJAX возможно ли, чтобы данные не отправлялись? - PullRequest
3 голосов
/ 02 ноября 2009

У меня проблема с тем, что иногда полезные данные в коде AJAX ниже не отправляются на сервер.

// loans_url, sample_id, sample defined above this block
$.ajax({
  type:       "POST",
  url:        loans_url,
  data:       {'loan[sample_id]':sample_id},
  beforeSend: function()     { sample.remove(); },
  success:    function(data) { $('#basket table tr:last').after(data); },
  error:      function()     { $('#results').prepend("Apologetic error message..."); }
});

«Хороший» пост отправляет данные в следующем виде: loan[sample_id]: 1234. «Плохой» пост попадает на правильный URL, но не отправляет никаких данных вообще.

Я не могу воспроизвести это в процессе разработки, хотя это происходит примерно один раз в день на производстве. В Firebug я пытался саботировать разметку на странице, с которой получен sample_id, но это просто вызвало отправку loan[sample_id]: undefined, с чем я не сталкиваюсь.

Есть ли какой-нибудь способ, которым данные могут быть вообще не отправлены? Можете ли вы предложить, как я мог бы отладить это дальше? (Это все с jQuery 1.3.2.)

Ответы [ 2 ]

1 голос
/ 02 ноября 2009

Попытайтесь определить обработчик error для вашего вызова jjery ajax и где-нибудь записать данные об ошибках (ну, возможно, сделать еще один вызов ajax в регистраторе ошибок?) Если это проблема с подключением, будет намного сложнее что-либо записать удаленно. В зависимости от вашего приложения вы можете захотеть зарегистрировать что-либо локально (возможно, файлы cookie) для последующего анализа (после установления соединения, если возникнет проблема с подключением).

0 голосов
/ 02 ноября 2009

Почтовые данные будут потеряны, только если возникнет проблема с подключением - например, вы можете повторить это, вытянув сетевой кабель так же, как вы нажали «Отправить» - заголовки МОГУТ сделать это, почтовые данные МОГУТ не быть - заголовки всегда отправляются первыми.

Итак, я думаю, что вы смотрите на инфраструктуру. Потерянное интернет-соединение, некоторые пропущенные пакеты или что-то подобное. Я не думаю, что это проблема для разработчика - до тех пор, пока вы принимаете только полностью сформированные почтовые запросы.

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