Jquery 面向laravel 5.1中的302重定向
我正在将数据从ajax发布到控制器/方法,但当ajax命中该方法时,面临302重定向,但仍然显示302错误。。如果我直接从url点击ajax方法并返回它可以工作的任何内容,但是如果我使用ajax调用ajax()函数,它会重定向到登录视图。为什么? 控制器Jquery 面向laravel 5.1中的302重定向,jquery,ajax,laravel,Jquery,Ajax,Laravel,我正在将数据从ajax发布到控制器/方法,但当ajax命中该方法时,面临302重定向,但仍然显示302错误。。如果我直接从url点击ajax方法并返回它可以工作的任何内容,但是如果我使用ajax调用ajax()函数,它会重定向到登录视图。为什么? 控制器 public function ajax(Request $request){ return 1;} 路线 脚本: $.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}
public function ajax(Request $request){
return 1;}
路线
脚本:
$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });
$(document).ready(function(){
// Load more data
$('.load-more').click(function(){
var row = Number($('#row').val());
var allcount = Number($('#all').val());
var rowperpage = 3;
row = row + rowperpage;
if(row <= allcount){
$("#row").val(row);
$.ajax({
url: "{{url('GuestController/ajax')}}",
type: 'post',
datatype: 'JSON',
headers: {
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
},
data: {row:row},
success: function(data){
alert(data);
}
});
}else{
console.log('if is not working');
}
});
});
$.ajaxSetup({headers:{'csrftoken':{{{{csrf_token()}}}}});
$(文档).ready(函数(){
//加载更多数据
$('.load more')。单击(函数(){
var行=数字($('#行').val();
var allcount=Number($('#all').val();
var rowperpage=3;
行=行+行每页;
如果(row您正在此处设置路由的名称:->name('ajax');
,并且可以通过使用route()函数调用该路由并传递名称
更改ajax url以使用路由名称
示例:url:{{route('ajax')}},
还可以向ajax脚本添加错误函数,如成功函数:
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(“某些错误”);
}
ajax函数应返回JSON,因此函数应如下所示:
公共函数ajax(请求$Request){
return response()->json(1);
}
您正在此处设置路由的名称:->name('ajax');
并且可以通过使用route()函数调用该路由并将名称传递给用户
更改ajax url以使用路由名称
示例:url:{{route('ajax')}},
还可以向ajax脚本添加错误函数,如成功函数:
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(“某些错误”);
}
ajax函数应返回JSON,因此函数应如下所示:
公共函数ajax(请求$Request){
return response()->json(1);
}
添加“X-request-With”,“XMLHttpRequest”。这尤其是为了安全,因为它可以防止CSRF攻击,因为未经服务器通过CORS同意,无法将此标头跨域添加到AJAX请求中
$.ajax({
type: "POST",
beforeSend: function(request) {
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
}
});
添加“X-Requested-With”,“XMLHttpRequest”。这尤其是为了安全,因为它可以防止CSRF攻击,因为未经服务器通过CORS同意,无法将此头添加到跨域的AJAX请求中
$.ajax({
type: "POST",
beforeSend: function(request) {
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
}
});
在Postman中尝试一下,看看上面是怎么说的。@Deckerz我会更新问题,如果它的重定向意味着您的会话没有通过ajax调用工作。也许可以尝试使用捆绑在Laravel中的axios来进行此调用。这样我们可以看到它是否是jQuery特定的问题。在Postman中尝试一下,看看上面是怎么说的。@Deckerz我会更新问题,如果它是引导它意味着你的会话没有通过ajax调用工作。也许可以尝试使用捆绑在Laravel中的axios来进行此调用。这样我们可以看到这是否是jQuery特有的问题。仍然是相同的错误,但它可以与get
type onpost
type一起工作。它将我重定向到登录视图,即使不使用任何在广告之后标记的中间件更改此行
,使您的模板没有csrf令牌字段,因此它被重定向。我希望您现在可以关闭此主题。因此,您的模板没有csrf令牌字段,因此它被重定向。我希望您现在可以关闭此主题。仍然存在相同的错误,但它可以使用get
类型在post
上键入,它会将我重定向到登录视图,即使在添加此行
后不使用任何中间件,因此你的模板没有csrf令牌字段,因此它被重定向。我希望你现在可以关闭此主题。因此,你的模板没有csrf令牌字段,因此它被删除已重定向。我希望现在您可以关闭此主题。