首页 > 解决方案 > AJAX 向 laravel 控制器发送数据但它不工作

问题描述

我正在尝试将用户 slug 发送到我的 laravel 控制器,但它在这里不起作用是我的 html 代码:

<a class="card" onclick="chat_send($data = '{{$user->slug}}');">

这是我的脚本:

function chat_send(){
    var data = $data;
    var action_url = '{{ route('chat.show','data')}}';
                            
     $.ajax({
          type : "POST",
          url : action_url,
          data : {data:data},
          dataType : "json",
          success:function(data){
              if(data.errors){
                  alert('Message Field is Empty.');

          }
          if(data.success){
            alert('Success');

          }
       }
    });
 };

控制器代码:

public function show(Request $request)
    {
        $slug = $request->get('data');
        

        return view('chat',compact('slug'));
        // return view('test');

    }

这是我得到的错误: 控制台日志

标签: ajaxlaravel

解决方案


只要这样做,这个错误就会得到解决。

<a class="card" onclick="chat_send('{{$user->slug}}');">

在脚本中:

function chat_send(data){                          
      var action_url = '{{ route('chat.show','data')}}';                            
      $.ajax({
           type : "POST",
           url : action_url,
           data : {data:data},
           dataType : "json",
           success:function(data){
                if(data.errors){
                   alert('Message Field is Empty.');

                }
                if(data.success){
                    alert('Success');


                }
          }
     });
 };

推荐阅读