jQuery可以用来删除HTTP响应头吗

本文关键字:HTTP 响应 删除 jQuery | 更新日期: 2023-09-27 18:27:51

我正在设计一个MVC视图,该视图将使用AJAX自动刷新部分视图,使用类似于中描述的技术如何每秒自动刷新MVC PartialView

只要客户端启用了javasrpt,这应该可以正常工作,但我也愿意为非javascript客户端支持(整个页面的)自动刷新。

因此,我想使用自定义AutoRefreshAttribute:在父操作方法中设置刷新标头

public class AutoRefreshAttribute : ActionFilterAttribute
{
    public AutoRefreshAttribute(int waitSeconds)
    {
        this.WaitSeconds = waitSeconds;
    }
    public int WaitSeconds { get; set; }
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        filterContext.HttpContext.Response.AppendHeader(
            "refresh", 
            this.WaitSeconds.ToString());
        base.OnResultExecuted(filterContext);
    }
}
[AutoRefresh(30)]
public ViewResult Index()
{
    return this.View();
}

然后我想写一些jQuery,它在Index视图加载后执行;这应该会删除refresh标头,这样,如果客户端启用了javascript,整个页面就不会被刷新。然后,我可以允许使用AJAX自动刷新部分视图。

是否可以使用jQuery删除HTTP响应标头

jQuery可以用来删除HTTP响应头吗

不,这是不可能的。早在处理任何javascript之前,HTTP标头就已经被读取了。