簡體   English   中英

如何修復使用 ajax 和 laravel 訪問路由時未找到的 404

[英]How to fix 404 not found when access the route using ajax and laravel

我目前是 laravel 的新開發人員,我在訪問路由時遇到問題,如果我嘗試單擊響應中的編輯按鈕,則會出現錯誤。 此錯誤顯示在我的生產中,但在我的本地主機上,未顯示此錯誤。 我的問題是為什么會顯示此錯誤?

"異常": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",

阿賈克斯:

$('.news_and_events_edit_btn').on('click',function(e){

    e.preventDefault();

    var id = $(this).attr("data-content-id-edit");

    $('.news_and_events_hidden_update_id').val(id);

    $.ajax({
        url:'/get_news_and_event_data',
        type:'get',
        data:{content_id: id},
        dataType:'JSON',
        success:function(res) {
            $('#update_news_and_events_title').val(res[0].content_title);
             update_appEditor_news_and_event.data.set(res[0].content_desc);

        },
        error:function(err) {
            console.log(err);

        }
    });
});

路線:

Route::get('/get_news_and_event_data','CMSController@get_news_and_event_data')->name('get_news_and_event_data');

錯誤:

錯誤

使用 content_id 參數更改routeajax url ,然后嘗試

路線

Route::get('/get_news_and_event_data/{content_id}','CMSController@get_news_and_event_data')->name('get_news_and_event_data');

AJAX 調用

     $.ajax({
        url:'/get_news_and_event_data/{content_id}',
        type:'get',
        data:{content_id: id},
        dataType:'JSON',
        success:function(res) {
            $('#update_news_and_events_title').val(res[0].content_title);
             update_appEditor_news_and_event.data.set(res[0].content_desc);

        },
        error:function(err) {
            console.log(err);

        }
    });

您應該在 ajax request 中使用route 它會將您重定向到route

$.ajax({
        url:"{{ route('get_news_and_event_data') }}",
        type:'get',
        data:{content_id: id},
        dataType:'JSON',
        success:function(res) {
      }

例如,我有一個代碼,

jQuery.ajax({
   url: "{{ route('SomeUrlHere') }}",
   method: 'get',
   data: {
       id : id
  }
success: function(data){
    if(data) {
         console.log(data);
    }

將 url 更改為這樣的內容。

var id = content_id;

$.ajax({
        url: '{{ URL::route('get_news_and_event_data') }}/'+id,
        type:'get',
        data:{content_id: id},
        dataType:'JSON',
        success:function(res) {
            $('#update_news_and_events_title').val(res[0].content_title);
             update_appEditor_news_and_event.data.set(res[0].content_desc);

        },
        error:function(err) {
            console.log(err);

        }
    });

為了解決我的問題,我發現有一個子文件夾,所以從 url:'/get_news_and_event_data',到 url:'/..get_news_and_event_data',

謝謝大家

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM