使用Javascript或Jquery捕获GET和POST

时间:2017-08-14 15:16:40

标签: javascript jquery html asp.net-mvc

有没有办法在从浏览器发送到服务器时捕获GET和/或POST请求?

我有一个Web应用程序,在发出请求后进行完整页面刷新,并且由于数据库上长时间运行的查询,某些页面的服务器响应时间很长。

因此,在发出其中一个请求之后,当浏览器等待来自服务器"的响应时,它所构成的视图保持可见。

我想添加一些可以全局应用的内容,无论何时向服务器发出请求,都会捕获,然后触发加载微调器运行。 类似的东西:

​window.onclick = function (e) {
    if (e.isGETorPOST) {
        startLoadingSpinner();
    }
}​

更新:我没有使用AJAX进行GET和POST。请求来自hrefs和表单。

1 个答案:

答案 0 :(得分:0)

由于您正在使用MVC(故事标记为MVC),这是一种查看当前操作的HTTP方法的简便方法,因此以下方法很容易实现:

var httpMethod = "@ViewContext.HttpContext.Request.HttpMethod";

Request.HttpMethod返回一个包含GET,POST,DELETE等字符串的字符串。此文本仅在视图呈现期间呈现;除非你更新变量,否则它不会在AJAX场景中发生变化。

然后你可以用JS做:

if (httpMethod == "GET" || httpMethod == "POST") {
   //Do something
}