收到非活动状态错误 - JQuery

时间:2014-05-28 06:13:59

标签: javascript jquery ajax

我有一个Ajax请求被发送到文件以获取信息并返回JSON。

这是我的请求示例:

 $.ajax({
    url: "admin/actions/ifp_get_events.php",
    type: "post",
    dataType: "json",
    data:
    {
        'elevation_name' : 'global',
        'function' : 'elevation_restrictions_events',
        'parent_id' : d.ifp_id
    },
    success: function(data){
            ......do stuff
    },
    error:function(){
        alert("error occured, please try again.");
    }
   });

现在我一直在使用谷歌浏览器进行开发,它的工作非常完美,但是当我在Firefox或IE中尝试此操作时,我收到以下错误:

正在触发粗略警报,我的响应文本为:

responseText:"
{
    "status":"error",
    "message":"You have been logged out due to inactivity." 
}
{"status":"found","code":1,"original_request":
{"elevation_name":"global","function":"elevation_restrictions_events","parent_id":"26"},"data_retrieved":[{"evt_for":"Game Room","evt_restriction":"","evt_select_ability":"hide","evt_active_ability":"disable"},{"evt_for":"Bedroom 5 w\/ Bath 5","evt_restriction":"Craftsman Entry, Kitchen","evt_select_ability":"show","evt_active_ability":"enable"}]}"

请注意,一旦出现错误消息,新状态部分就是我需要的正确响应。我不知道为什么在Firefox和IE中会发生这种情况?

建议,想法?

如果您需要更多信息,请问我。

2 个答案:

答案 0 :(得分:1)

浏览器会话不会跨浏览器共享。在您的情况下,您已登录Chrome,因此代码按预期工作。

然而,在尝试使用FF和IE时,您没有登录,因此输出不同。

答案 1 :(得分:0)

添加以下行:

beforeSend: function (xhr) {
                xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))
            },

您的数据之后。

由于有效的csrf令牌没有将其登出网站。