我有一个页面用jQuery进行AJAX调用,通过在ajax调用的页面上设置cookie来记录用户。当我前往Firefox,Safari Chrome等的另一个页面时,登录工作正常。 但是在IE6-9中没有设置cookie。我确实找到了一些关于特定标头设置的提示,以满足IE的安全性偏好,但那些都涉及对外部域的ajax调用,我在同一个域上调用一个页面(通过相对路径)。无论如何我试过了,它没用。有人见过这个吗?
答案 0 :(得分:0)
可能与ajax请求设置的cookie的路径有关。它与您想要的登录cookie的路径相同吗? ie / my / ajax / request或/ my / container / page而不是“/”
我正在处理类似的ajax问题,其中jquery不会在加载的ajax块中设置cookie ...间歇性地:/非常奇怪
$.cookie("my_setting", "true", { path: "/" });
现在简化的cookie路径。某些浏览器可能会根据路径对Cookie进行不同的扩展。
同样在某些情况下将cookie设置为false会使逻辑变得困难,所以我使用字符串“false”而不是false 0或null。
编辑:我的问题仅限于firefox 14. Safari,IE9和Chrome都有正确的cookie行为,允许我在ajax加载的块中设置“/”范围内的cookie,而FF似乎是间歇性的问题。