【发布时间】:2015-10-20 16:33:36
【问题描述】:
我有一个 Laravel 4 问题的噩梦。
在应用程序中向服务器发送 AJAX POST 时,它会立即记录系统的用户!这太可怕了,似乎无法调试 ti
有人对解决方案有任何想法吗?
以下是一些 AJAX 请求的示例......
$.ajax({
type: 'post',
url: '/orders/orderboards/order/add-item-comment',
data: 'order_item_id=' + order_item_id+'&name='+name+'&body='+body+'&user_id='+user_id,
success: function(result) {
if(result.success){
console.log('SUCCESS AJAX Comment created: ');
working = false;
$(result.html).hide().insertBefore('#addCommentContainer').slideDown();
$('#body').val('');
}else{
console.log('FAILURE AJAX did not save comment:');
}
}
});
我还在我的应用程序的某些字段上使用 jQuery 库 X-Editable,它将字段转换为就地编辑,并且它也处理这些帖子的所有 AJAX 方面。
我可以使用 AJAX 请求加载数据而不会出现问题,只是在创建或更新您已注销的数据时进行 POST。
更新
似乎任何时候向服务器发出 AJAX 请求都会重置 laravel_session cookie 值。我不确定是什么原因造成的。
我过去曾注意到,如果我打开配置调试选项,那么每个请求也会重置此值并将您注销。似乎 AJAX 请求也会使这种行为发生 =(
有解决方案的想法吗?
【问题讨论】:
-
返回的是 401 吗?完成请求需要多长时间?
-
响应是否包含任何删除 cookie 标头?
-
您是否设置了任何可能捕获请求并将用户注销的身份验证过滤器?
-
@JSelser 这是一个 200 成功页面,然后我的下一页请求加载登录屏幕。查看 cookie 似乎
laravel_sessionclookie 设置了一个新的会话 ID。虽然我不知道是什么原因造成的 -
@PatrickM 我不确定,但似乎 laravel 会话 ID 正在重置,这是此屏幕截图中实际 AJAX 请求的标头i.imgur.com/tJ4CDNZ.png 它确实显示了
set-cookie部分这可能是你的意思?
标签: php jquery ajax laravel laravel-4