首页 > 解决方案 > 如何在 ajax 中为 laravel 的模态窗口使用 Get 和 Post 方法

问题描述

我有数据表,其中我从数据库中获取所有记录,现在我为所有记录呈现了一个反馈按钮。单击“反馈”按钮时,会打开一个模式弹出窗口,其中包含提交特定 ID 反馈的选项。现在我已经渲染了反馈按钮,不确定如何使用 ajax 插入特定 id 的反馈。在我的数据库中有一个反馈列,到目前为止没有值,想要插入提交的值以插入数据库。

这是我如何为所有记录呈现反馈按钮的代码。

{
                    
                    render:function(data, type, row){
                       return "<a href='#modal-lg5' data-toggle='modal' data-target='#modal-lg5' class='btn btn-warning btn-sm'>  Feedback </a>"+
            "<div class='modal fade' id='modal-lg5'>"+
                "<div class='modal-dialog modal-lg'>"+
                 "<div class='modal-content'>"+
                    "<div class='modal-header'>"+
                        "<h4 class='modal-title'>Submit Feedback</h4>"+
                        "<button type='button' class='close' data-dismiss='modal' aria-label='Close'>"+
                            "<span aria-hidden='true'>&times;</span>"+
                        "</button>"+
                    "</div>"+
              "<div class='modal-body'>"+
                  "<div class='row'>"+
                    "<div class='col'>"+
                    "<form id='contactForm'>"+
                      "<div class='form-group'>"+
                        "<label>Details:</label>"+
                "<input type='text' name='title' class='form-control' placeholder='details' required=''>"+
            "</div>"+
                      "</div>"+
                      "<button class='btn btn-success'>Submit Feedback</button>"+
                      "</div>"+
                      "</form>"+
                    "</div>"
                }     
              }

这就是我编写ajax的方式

$("#contactForm").on('submit',function(e){

        e.preventDefault();

        var Feedback = $("input[name=title]").val();
        var url = '{{ route('postinsert') }}';
        
        $.ajax({
           url:url,
           method:'POST',
           data:{
                  
                  Feedback:Feedback
                },
           success:function(response){
              if(response.success){
                  alert(response.message) //Message come from controller
              }else{
                  alert("Error")
              }
           },
           error:function(error){
              console.log(error)
           }
        });

这是我的控制器代码:

 public function ajaxRequestPost(Request $request)
    {

        \DB::table('memberdetails')->insert([
            'Feedback' => $request->Feedback, //This Code coming from ajax request
        ]);

        return response()->json(
            [
                'success' => true,
                'message' => 'Data inserted successfully'
            ]
        );
    }

由于我第一次从事此工作,不确定如何实现我想要的输出,因此任何解决问题的帮助都会非常棒。

标签: jqueryajaxlaraveldatatablesyajra-datatable

解决方案


推荐阅读