如何将数据从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 get方法发送到laravel中的控制器?
如何使用 Ajax 以数组格式将多个图像从 MVC 视图发送到控制器?
如何将 IEnumerable 列表从 Ajax 发送到控制器