jQuery: вложенный $.ajax не отправляет запрос с перерывами
У меня серьезная проблема с постом ajax, который не отправляет ни одного запроса с перерывами.
В моем сценарии я сначала помещаю запрос getJson на свой сервер, чтобы создать запись в базе данных. Это никогда не подводит
jQuery.getJSON("/counter/placeorder", function(json) {
var txndatetime = json.txndatetime;
var hash = json.hash;
...
С некоторыми значениями, возвращаемыми через JSON с моего сервера, я затем пытаюсь отправить запрос поста ajax на сторонний сервер.
$.ajax({ url: "https://www.someserver.com/processing",
type: "POST",
data: {
'txndatetime': txndatetime,
'hash': hash,
...
},
complete: function(xmlHttp, status) {
window.location = '/counter/exit';
}
});
Но проблема не в стороннем сервере. Я завернул сообщение ajax в другое сообщение ajax, в котором я сначала пытался отправить тот же запрос на другой сервер отладки, а иногда, похоже, вообще не было запроса на публикацию.
Однако, если я сериализирую данные и помещаю их в URL-адрес моего запроса на отладку, то он отправляется на мой сервер отладки, в то время как следующая запись на фактический сервер обработки не запускается. Это намекает на проблему с извлеченными данными из getJSON, но данные по форме идентичны запросам, которые работают.
Единственная идея, с которой я остаюсь, заключается в том, что это может быть проблема тайм-аута с JSON. Есть идеи?
1 ответ
Я наконец решил свою проблему, создав вторую форму, добавив скрытые поля ввода через jquery, а затем отправив это. Очевидно, есть разница в порядке выполнения элементов кода, и, возможно, запрос ajax время от времени преждевременно запускается, но в любом случае с формой sbmit он работает каждый раз.