Обработка Ajax автоматического перенаправления - PullRequest
0 голосов
/ 03 мая 2018

Я изо всех сил пытаюсь решить проблему с моим приложением Laravel, которое я загрузил на сервер Heroku. Это приложение загружает файл с помощью ajax-запроса, показывая ход загрузки также на странице, и возвращает ответ json.

Я установил Content-Type: application/json, и X-CSRF-TOKEN также действителен в заголовке, но все же после завершения загрузки вместо возврата действительного ответа json, он устанавливает статус 301 и 302 и переходит на домашнюю страницу.

Я протестировал это приложение Laravel на моем локальном сервере, и оно там очень стабильное. Я думаю, есть ли способ приостановить Chrome перед загрузкой страницы перенаправления, нажав точку останова, чтобы я мог знать, что происходит до перенаправления. Я уже пробовал это в консоли:

window.addEventListener("beforeunload", function() { debugger; }, false) но это никогда не вызывает точку останова. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 03 мая 2018

Наконец, после 2-х суетливых дней мытья головы с сервером Heroku, я понял, что серверу Heroku Apache требуется, чтобы маршрут Laravel был настроен для обработки как POST, так и GET метода. В моем случае я должен использовать это:

Route::match(['get', 'post'], '/xls2db', 'HomeController@xls2db')->name('xls2db');

Это имеет смысл, потому что после метода Ajax POST он возвращает json ответ, который будет обработан, только если маршрут также принимает метод GET.

На моем локальном сервере я тестировал свое приложение с php artisan serve, который может получить ответ json только с POST-маршрутом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...