如何将数据从Ajax发送到控制器

时间:2019-02-08 08:49:25

标签: ajax laravel

我想使用ajax将数据传输到控制器。这是ajax代码

$(document).on("click", '#bt1', function(e)
{
    e.preventDefault();
    $.ajax({
        url:"/insert_",
        type:"post",
        data:{
            name2:"admin",
            _token: $("input[name='_token']").val()
        }
     })
});

这是控制器中的代码

public function insert_db(Request $request)
{
    dd($request->all());
}

这是布局代码

<form action="/insert_" method="post">
    @csrf
    <input type="submit" id="bt1" value="do it">
</form>

这是代码вweb.php

Route::post('/insert_',"StudentController@insert_db");

显示此 enter image description here 为什么显示这个?请帮助

2 个答案:

答案 0 :(得分:0)

您的jquery ajax请求应如下所示:

$(document).on("click", '#bt1', function(e)
{
    e.preventDefault();
    $.ajax({
        url:"/insert_",
        type:"post",
        data:{
             "name":"test",
            _token: $("input[name='_token']").val()
        }
     })
});

$(document).on("click", '#bt1', function(e)
{

    var payload = JSON.stringify({
                  'name': 'test',
                  '_token': $("input[name='_token']").val()
                });

    e.preventDefault();
    $.ajax({
        url:"/insert_",
        type:"post",
        data:payload
     })
});

答案 1 :(得分:0)

您的代码没有错,但是我很乐意通过这样编码来获得字符串部分

 $(document).on("click", '#bt1', function(e)
{
    e.preventDefault();
    $.ajax({
        url:"/insert_",
        type:"post",
        data:{
            "name2":"admin",
            _token: $("input[name='_token']").val()
        }
     })
});

注意到我将name2:“ admin”更改为“ name2”:“ admin”