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 он работает каждый раз.

Другие вопросы по тегам