Php AJAX POST请求在Laravel 5.6中不起作用
在尝试使用Laravel5.6在我的应用程序中使用ajax请求时,我发现ajax请求没有触发 我的控制器代码Php AJAX POST请求在Laravel 5.6中不起作用,php,ajax,laravel-5,Php,Ajax,Laravel 5,在尝试使用Laravel5.6在我的应用程序中使用ajax请求时,我发现ajax请求没有触发 我的控制器代码 class AjaxController extends Controller { function index(Request $request) { $msg = "Sample Messgae"; return response()->json(['msg' => $msg)]); } } 路线, web.php
class AjaxController extends Controller
{
function index(Request $request)
{
$msg = "Sample Messgae";
return response()->json(['msg' => $msg)]);
}
}
路线,
web.php
Route::post('/message','AjaxController@index');
Route::get('/sample','UserRedirectController@ajaxRedirect');
视图
<input type="text" name="ajax" id="ajax">
<input type="text" name="_token" value="{{csrf_token()}}" id="token" hidden>
<button id="save" onclick="ajaxRequestFun();">Show</button>
<span id="cont"></span>
显示
最后是脚本
<script>
$(document).ready(function(){
$.ajaxSetup({
headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});
});
functon ajaxRequestFun()
{
$.ajax({
type : 'POST',
url : '/message',
data : {'_token': {{csrf_token()}} },
success:function(res){
alert("success");
}
});
}
</script>
$(文档).ready(函数(){
$.ajaxSetup({
标题:{'X-CSRF-Token':$('meta[name=_Token]')。attr('content')}
});
});
functon ajaxRequestFun()
{
$.ajax({
键入:“POST”,
url:“/message”,
数据:{''u-token':{{csrf'u-token()}}},
成功:功能(res){
警惕(“成功”);
}
});
}
终于找到了解决方案,
我刚刚在视图头标记中添加了一个meta标记,如下所示
<meta name="token" content="{{csrf_token()}}">
并使用数据正常启动ajax调用:参数作为我创建的变量pass,
我的ajax代码类似于
$.ajax({
type:'POST',
url:'{{url("/message")}}',
datatype:'json',
data: pass,
success:function(data){
$("#bubble").html(data);
}
}).fail(function(jqXHR, textStatus, error){
alert(jqXHR.responseText);
});
我发现重要的是
将meta标记与csrf_token()键一起使用
其他与其他框架相同的是,尝试将与jQuery的绑定放在文档中,如:
$(document).ready(function(){$('#save')。单击(function(){ajaxRequestFun()};})代码>无效果,单击“保存”按钮时未发生任何事件。是否删除html中的onclick?是的,但错误与您在同一控制器中使用laravel中间件时的错误相同?
$.ajax({
type:'POST',
url:'{{url("/message")}}',
datatype:'json',
data: pass,
success:function(data){
$("#bubble").html(data);
}
}).fail(function(jqXHR, textStatus, error){
alert(jqXHR.responseText);
});