ajax 类型的帖子在 laravel 5.4 中不起作用
Posted
技术标签:
【中文标题】ajax 类型的帖子在 laravel 5.4 中不起作用【英文标题】:ajax type post not working in laravel 5.4 【发布时间】:2018-02-21 16:52:19 【问题描述】:如果我将 Ajax 中的类型更改为 get 并将路由更改为“Route::post('/delete','CandidateController@remove');
”,则相同的功能正在运行。简而言之,get 工作正常,但 post 不是。我在控制台中收到此错误
VM2216:1 POST http://localhost/nor_management/public/delete 419 (未知状态)(匿名)@VM2216:1 发送@app.js:29 ajax@ app.js:29 (匿名)@home:110 dispatch @ app.js:29 g.handle @ app.js:29 VM2216:1 XHR 加载失败:POST “http://localhost/nor_management/public/delete”。
Ajax 调用:
$(document).on('click','#delete',function()
var dataId = $(this).data("id");
$.ajax(
type:'POST',
url:"!! URL::to('delete') !!",
data:'id':dataId,,
dataType: 'JSON',
success:function(data)
console.log('success');
console.log(data);
console.log(data.length);
$("#table").load("data");
,
error:function()
,
);
);
);
表格:
<div class="container">
<div class="row">
<div class="col-md-12" >
<div class="panel panel-default" >
<div class="panel-heading"><a href="add">Add New Candidate</a></div>
<div class="panel-body">
<meta type="hidden" name="csrf-token" content="csrf_token()">
<div class="table-responsive" >
@include('data')
</div>
</div>
</div>
</div>
</div>
</div>
</form>
路线:
Route::post('/delete','CandidateController@remove');
控制器:
public function remove(Request $request)
$id = $request->id;
$candidate = new Candidate;
$candidate->where('id', '=', $id)->delete();
【问题讨论】:
我会查看服务器端错误日志 【参考方案1】:试试这个:
$(document).on('click','#delete',function()
var dataId = $(this).data("id");
var token = $('meta[name="csrf-token"]').attr('content');
$.ajax(
type:'POST',
url:"!! URL::to('delete') !!",
dataType: 'JSON',
data:
"_method": 'POST',
"_token": token,
"id": dataId,
,
success:function(data)
console.log('success');
console.log(data);
console.log(data.length);
$("#table").load("data");
,
error:function()
,
);
);
【讨论】:
非常感谢它的工作:),我发现您还必须在数据中发送令牌和方法以上是关于ajax 类型的帖子在 laravel 5.4 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.4 Eloquent where parent