AJAX работает локально; 404 на производстве

У меня есть приложение Laravel, которое отлично работает локально, но каждый вызов AJAX возвращает 404 при размещении. Я не уверен, что это из-за ошибки конфигурации сервера, отсутствия настройки php.ini или чего-то еще? Я привел пример неудачного звонка.

AJAX / JQ:

var url = "/final-review";
$("#review_note_text").change(function(){
  $.ajaxSetup({
    headers: {
      'X-CSRF-TOKEN': $('meta[name = "_token"]').attr('content')
    }
  });

  $('#review_note_loader').show();

  var formData = {
    note_text: $('#review_note_text').val(),
  };

  var type = "POST";
  var reviewNoteUrl = url + '/review-note';

  $.ajax({
    type: type,
    url: reviewNoteUrl,
    data: formData,
    dataType: 'json',
    success: function (data) {
      $('#failure-message-review').hide();
      $('#success-message-review p').html("Saved successfully" + '<a href = "#" class = "close" data-dismiss = "alert" aria-label = "close">&times;</a>');
      $('#success-message-review').show();
      $('#review_note_loader').removeClass("halted-loader").hide();
    },
    error: function (data) {
      $('#review_note_loader').addClass("halted-loader");
      $('#failure-message-review p').html("Something went wrong, your record was not updated. <strong>Error Code: " + data.status + "</strong>" + '<a href = "#" class = "close" data-dismiss = "alert" aria-label = "close">&times;</a>');
      $('#failure-message-review').show();
    }
  });

});

Мой соответствующий маршрут:

Route::post('final-review/review-note', 'FinalReviewController@update_review_note');

Функция контроллера

  public function update_review_note(Request $request){

    $validatedData = $request->validate([
      'note_text' => 'nullable|string',
    ]);

    $note = \App\ReviewNote::create([
      'note_text' => $request->get('note_text'),
      'author' => Auth::user()->name,
      'created_at' => now()
    ]);

    return Response::json($note);
  }

РЕШЕНО:

Мне пришлось изменить переменную url в моем шаблоне лезвия, чтобы она была: var url = "{{ url('/final-review') }}";

В моем AJAX я определял «url» как «/ final-review», что привело к маршруту «foobar.com/final-review/params», в чем мне действительно нужно было «foobar.com/app-name/final-». обзор / параметры ".

При локальном тестировании в моем URL-адресе не было «app-name».

Что говорят ваши журналы ошибок?

Cameron Hurd 07.12.2018 20:54

@CameronHurd Он не создает журналы laravel или журналы IIS. Стоит ли мне искать еще где-нибудь?

rborum 07.12.2018 20:59

у вас есть возможность переписать URL? в противном случае звонок скорее всего должен быть /index.php/final-review/review-note/

adam 07.12.2018 21:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
41
0

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