iOS 11.4上的Safari不会在POST请求上发送cookie

时间:2018-06-14 07:52:49

标签: ajax post cookies safari mobile-safari

我多年来一直在使用相同的代码,到目前为止,每个浏览器的功能都很好:

$.ajax({
    url: '/test.php',
    data: parameters,
    dataType: 'html',
    type: 'post'
})

但是,由于我的用户开始升级到iOS 11.4,那些使用私有模式的Safari的用户遇到了与我的网站“断开连接”的问题。

这是因为ajax POST请求显然没有发送任何Cookie。作为POST请求的一部分创建了一个全新的会话(创建了新的cookie等)。

但是,这不会影响GET请求本身的任何内容。尽管新的cookie被设置为ajax POST请求的一部分,但它们仍然使用相同的cookie(因此也是相同的会话)。这就像那些ajax POST请求被“沙盒化”,不会影响其他任何东西。

有什么想法吗?这是iOS 11.4上Safari的错误吗?

1 个答案:

答案 0 :(得分:0)

我们解决了一个类似的问题,并发现它实际上与服务人员有关。据我所知,这是Safari最新版本的Service Workers实现中的一个错误,该错误导致某些Cookie无法在私有模式下通过POST传递。目前,我们已禁用Service Worker,并且这些用户的站点功能已恢复正常。

不确定这是否是您的问题,但这听起来非常相似。希望这会有所帮助!

相关问题