Php 在Laravel4中使用ajax请求时会话过期
我在使用ajax请求时遇到问题,会话过期,我不明白为什么 我用ajax获取数据以“实时”显示信息,基本上我是从表中显示一个读取字段,工作正常,但有时会话过期,我的web应用程序重定向到登录页面 这是我的代码: 看法Php 在Laravel4中使用ajax请求时会话过期,php,jquery,ajax,laravel,laravel-4,Php,Jquery,Ajax,Laravel,Laravel 4,我在使用ajax请求时遇到问题,会话过期,我不明白为什么 我用ajax获取数据以“实时”显示信息,基本上我是从表中显示一个读取字段,工作正常,但有时会话过期,我的web应用程序重定向到登录页面 这是我的代码: 看法 @foreach($data->getCollection()->all()作为$value) setInterval(函数(){ //--通知ID{{$value->ID} 变量id={{$value->id}; $.ajax({ 键入:“GET”, 数据类型:“html”, ur
@foreach($data->getCollection()->all()作为$value)
setInterval(函数(){
//--通知ID{{$value->ID}
变量id={{$value->id};
$.ajax({
键入:“GET”,
数据类型:“html”,
url:“{url('/')}}/admin/notifications/email/tracking/read”,
数据:“id=”+id,
成功:函数(数据){
//--读取=1
如果(数据==1)
{
数据='读取'
}否则{
数据='未读'
}
$(“#read{{{$value->id}}”).html(数据);
},
});
}, 3000); // 每60秒发送一次请求
@endforeach
控制器
//--检查是否已读取
公共功能read(){
if(请求::ajax())
{
$id=Input::get('id');
$data=notificationsMailTracking::find($id);
返回$data->read;
}
}
高级版谢谢。不太相关,但你可以只做
{url('admin/notifications/email/tracking/read')}
而不是{url('/')}/admin/notifications/email/tracking/read
谢谢,但这不是问题所在。你注意到第一次请求后会话过期多长时间了吗?2小时或更短?几分钟,有时甚至几秒钟。当我删除jquery和ajax脚本时,一切正常。我尝试返回一个整数,但没有从数据库中检索数据,并且没有发生,它没有过期会话,所以问题是laravel,你知道吗?没有关系,但你可以只做{url('admin/notifications/email/tracking/read')}
而不是{{url('/')}/admin/notifications/email/tracking/read
谢谢,但这不是问题。您注意到第一次请求后会话过期多长时间了吗?2小时或更短?几分钟,有时甚至几秒钟。当我删除jquery和ajax脚本时,一切正常。我尝试返回一个整数,但没有从数据库中检索数据,并且没有发生,它没有过期会话过期,所以问题是laravel,知道吗?
@foreach($data->getCollection()->all() as $value)
<div id="read{{ $value->id }}"></div>
<script type="text/javascript">
setInterval(function(){
//-- Notification ID {{ $value->id }}
var id = {{ $value->id }};
$.ajax({
type: 'GET',
dataType: 'html',
url: "{{ url('/') }}/admin/notifications/email/tracking/read",
data: "id=" + id,
success: function(data){
//-- Read = 1
if(data == 1)
{
data = 'Read'
} else {
data = 'Unread'
}
$("#read{{ $value->id }}").html(data);
},
});
}, 3000); // send request each 60 seconds
</script>
@endforeach
Controller
//-- Check if is read
public function read() {
if(Request::ajax())
{
$id = Input::get('id');
$data = NotificationsEmailTracking::find($id);
return $data->read;
}
}