Почему $ .post () подчиняется политике того же происхождения, но отправляет форму с методом = 'POST'?

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

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

Я хотел бы использовать JQuery$.post() чтобы избавиться от скрытого iframe и сделать так, чтобы единственный раз, когда он отправлял информацию для входа в систему, это когда выполнялся поиск. Таким образом, он не отправляет запросы постоянно, когда он не используется, но вы все равно можете запустить поиск, не беспокоясь о времени ожидания входа.

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

Проблема в том, что если запрос на вход еще не завершен, запрос на поиск не проходит, и они снова попадают на страницу входа. Если они закроют окно и начнут поиск снова, это будет работать, но это также раздражает, но не так сильно, как в исходной ситуации.

Таким образом, кроме того факта, что вам действительно нужно открыть страницу (если она не в скрытом фрейме), в чем разница между отправкой параметров через$.post() и отправить форму с помощью метода POST? Они выглядят одинаково в клопе. Можно ли как-то настроить обратный вызов при отправке формы, чтобы он ожидал завершения первого запроса, прежде чем запускать второй?

Ответы на вопрос(3)

Ваш ответ на вопрос