ios Safari 6中的Ajax post请求无效

升级到iOS6.0版本后,ajax登录页面停止工作。 它看起来像jquery $ .ajax发出的ajax发布请求,即使在添加随机查询字符串参数并将Cache-control设置为“no-cache”(这些发现在网络上作为缓存问题的解决方案)之后,它也会缓存在safari中。 首次登录尝试正常工作,但在第二次登录请求浏览器注销后,不会从服务器获取任何响应主体。 只有标题。

IOS 6 GM和5版本以及所有桌面浏览器也一样。

有任何想法吗?


我刚刚阅读了这篇文章,看起来与您的问题有关。 这似乎是苹果在iOS6中对Safari的“优化”。


这个主题在这里还包含很多细节:iOS 6上的Safari缓存$ .ajax结果吗?

但是,还有一点需要注意,以上内容并未涉及。

有一个对WCF有用的评论,它也适用于ASP.NET MVC应用程序和SetCacheability。 我建议这些调用仅限于非GET请求,以避免在GET上丢失缓存的好处。

我使用一个控制器基类,所有的控制器都继承了基于很多原因,这很好,因为我的Initialize覆盖可以处理设置我的缓存标题。

public class SmartController : Controller
{
    ...
    public HttpContextBase Context { get; set; }

    protected override void Initialize(System.Web.Routing.RequestContext requestContext)
    {
        Context = requestContext.HttpContext;

        if (Context.Request.RequestType != "GET")
        {
            Context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        }

        base.Initialize(requestContext);
        ...
    }
...
}
链接地址: http://www.djcxy.com/p/55719.html

上一篇: Ajax post request in ios Safari 6 not work

下一篇: Disabling JIT in Safari 6 to workaround severe Javascript JIT bugs