我想使用jquery和ajax在控制器laravel中发送数据。但是当我点击按钮时,显示此错误
这是我的代码ajax
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$(document).ready(function ()
{
$("#b").bind("click",function ()
{
var id = "888";
$.ajax({
url:"/insert_",
mehtod:"get",
data:{
id:id
}
});
});
});
这是我的html代码
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<meta name="csrf-token" content="{{ csrf_token() }}">
<script src="js/jquery.js"></script>
<script src="js/f.js"></script>
</head>
<body>
<button id="b">do it</button>
</body>
</html>
这是我的控制器代码
public function data(Request $request)
{
$student = $request->input('id');
DB::table("student_table")
->where("name","=",$student)->delete();
}
这是我的web.php代码
Route::get('/insert_',"StudentController@data");
答案 0 :(得分:0)
我认为控制器中的查询是错误的,因为您传递了ID,但随后又使用它来检索学生的姓名... 我认为您应该更改此代码
...
$student = $request->input('id');
DB::table("student_table")
->where("name","=",$student)->delete();
...
到
...
$student = $request->input('id');
DB::table("student_table")
->where("id","=",$student)->delete();
...
问题是,如果找不到该学生,则无法调用delete方法。我希望这个答案会有所帮助。