Есть два запроса отправляемых с фронтенда.
Запрос№1 идет на наш сервер, обрабатывается и отправляется на сторонний сервер. Ответ от этого запроса на фронтенде мы не ждем.
Запрос№2 идет на наш сервер, обрабатывается, отправляем ответ на фронтенд, затем редирект на другую страницу.
Оба запроса асинхронные. Будет ли обрываться Запрос№1, если редирект произошел быстрее чем успел отправиться запрос от нашего сервера на сторонний сервер?
Фронтенд:
request1();
request2();
function request1() {
$.ajaxSetup({
headers: { 'X-CSRF-Token' : '{!! csrf_token() !!}' }
});
$.ajax({
type: "POST",
url: "{{ url() }}/url-1",
data: data,
dataType: 'json',
error: function (data) {
console.log(data)
},
success: function (data) {
// do nothing
console.log(data)
}
}); // End AJAX
}
function request2() {
$.ajaxSetup({
headers: { 'X-CSRF-Token' : '{!! csrf_token() !!}' }
});
$.ajax({
type: "POST",
url: "{{ url() }}/url-2",
data: data,
dataType: 'json',
error: function (data) {
console.log(data)
},
success: function (data) {
// redirect
window.location.href = newUrl;
}
}); // End AJAX
}
Бекенд отправка запроса на сторонний сервер после request1() с фронтенда
{
$listID = 2;
$segment = parse_url($request->headers->get('referer'))["path"];
if ($segment == '/some-url') {
$listID = 8;
}
$client = new Client();
$res = $client->request('POST', 'XXX', [
'form_params' => [
'api_key' => 'XXX',
'actid' => 'XXX',
'api_action' => 'XXX',
'api_output' => 'json',
'p[listID]' => $listID,
]
]);
echo $res->getBody();
}