繁体   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