У меня есть скрипт, который я вызываю через AJAX вызова с JQuery:PHP неожиданный редирект
$.ajax({
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
type: "POST",
url: "getFares.php",
data: someObjectHere,
success: function(data) {
handleSuccess(data);
},
dataType: "json"
});
Большую часть времени этот запрос работает нормально, а сервер посылает значения, которые я бы ожидать.
Иногда, однако, сервер просто отвечает отрицательным ответом 303 SEE OTHER. Нигде в моем php-скрипте нет ничего, что могло бы произвести эту перенаправление.
К сожалению, я не смог найти какой-либо шаблон, когда происходит перенаправление. Похоже, что это происходит только при загрузке страницы, затем подождите немного, а затем вызовите запрос ajax, но это может быть совпадением.
Я знаю, что это не очень полезное описание, но, к сожалению, я застрял здесь, поэтому я надеюсь, что кто-то удачлив знает, как его исправить.
Вот несколько скриншотов из Девых инструментов, которые должны проиллюстрировать эту проблему более четко:
На этом изображении вы можете увидеть, что я сделал пару запроса к скрипту (getFares.php) и Я выделил тот, который сработал. Вы можете видеть, что код состояния - 200, и все в порядке.
Здесь я выделил неудачный запрос. Ответ 303 Смотреть другие. Как вы можете видеть, ни одно из других значений запроса не изменилось
Единственная разница в запросах, которые я смог найти, рассматривается здесь. Для запросов, которые возвращают правильный результат (статус 200), тип «xhr» и для запросов, которые приводят к перенаправлению, имеют тип «x-www-form-urlencoded; charset = UTF-8». Я не знаю, почему это происходит или откуда оно происходит.
Я предполагаю, что проблема может быть связана с неправильными настройками сервера/php, но трудно найти такую ошибку.
Ваша функция ajax, кажется, выполняется, когда и когда вы загружаете страницу. Почему бы вам не включить его в какую-либо функцию, если вам это нужно, например, onclick или onchnage и т. Д. –
Фактически это вызвано кнопкой, которую я нажимаю – user3346601