我有一个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中会发生这种情况?
建议,想法?
如果您需要更多信息,请问我。
答案 0 :(得分:1)
浏览器会话不会跨浏览器共享。在您的情况下,您已登录Chrome,因此代码按预期工作。
然而,在尝试使用FF和IE时,您没有登录,因此输出不同。
答案 1 :(得分:0)
添加以下行:
beforeSend: function (xhr) {
xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))
},
您的数据之后。
由于有效的csrf令牌没有将其登出网站。