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

Posted

技术标签:

【中文标题】如何将数据从ajax发送到控制器【英文标题】:How to send data from ajax to controller 【发布时间】:2019-07-02 11:30:28 【问题描述】:

我想使用 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");

显示这个 为什么会显示这个?请帮忙

【问题讨论】:

把你的name2改成'name2' Minimum Working Example for ajax POST in Laravel 5.3的可能重复 您确定您的 javascript 正在运行吗?看起来您只是从 html 而不是通过 ajax 发布表单。 【参考方案1】:

您的 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
     )
);

【讨论】:

我改变了,但是如何在控制器中显示变量“name2”?【参考方案2】:

您的代码没有任何问题,但我很乐意通过这样的编码来获取字符串部分

 $(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"

【讨论】:

我改变了,但是如何在控制器中显示变量“name2”? 使用 $request->name2 显示错误。位置js文件可能有问题? 您遇到的错误是什么?是不是要访问ajax调用中的返回值? 是的,我想从 ajax 获取变量到控制器

以上是关于如何将数据从ajax发送到控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用ajax将多个数据从控制器发送到页面html

如何将数据从ajax get方法发送到laravel中的控制器?

如何使用 Ajax 以数组格式将多个图像从 MVC 视图发送到控制器?

如何将 IEnumerable 列表从 Ajax 发送到控制器

如何将图像文件和表单数据从 Ajax 传递到 MVC 控制器

如何使用ajax将包含上传文件和字符串的数据对象发送到控制器?