【发布时间】:2019-05-13 12:16:31
【问题描述】:
我是从 ajax 到控制器/方法的 POST 数据,但是当 ajax 访问该方法时面临 302 重定向,但它仍然显示 302 错误。如果我直接从 url 访问 ajax 方法并返回任何有效但如果我调用 ajax () 函数使用 ajax 它重定向到登录视图。为什么?
控制器
public function ajax(Request $request){
return 1;}
路线
Route::group(array('module'=>'Guest','namespace' =>
'App\Modules\Guest\Controllers'), function() {
Route::post('ajax','GuestController@ajax')->name('ajax');
}
脚本:
$.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');
}
});
});
它应该命中 ajax() 方法。
【问题讨论】:
-
在 Postman 中试一试,看看结果如何。
-
@Deckerz 我更新了问题
-
如果它的重定向意味着你的会话没有通过 ajax 调用工作。也许尝试使用 Laravel 中捆绑的 axios 来进行此调用。这样我们可以查看它是否是 jQuery 特定的问题。