【问题标题】:How to send data from ajax to controller如何将数据从ajax发送到控制器
【发布时间】: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");

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

【问题讨论】:

标签: ajax laravel


【解决方案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 获取变量到控制器
猜你喜欢
  • 2017-02-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
  • 2017-03-11
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
相关资源
最近更新 更多