有没有办法在从浏览器发送到服务器时捕获GET和/或POST请求?
我有一个Web应用程序,在发出请求后进行完整页面刷新,并且由于数据库上长时间运行的查询,某些页面的服务器响应时间很长。
因此,在发出其中一个请求之后,当浏览器等待来自服务器"的响应时,它所构成的视图保持可见。
我想添加一些可以全局应用的内容,无论何时向服务器发出请求,都会捕获,然后触发加载微调器运行。 类似的东西:
window.onclick = function (e) {
if (e.isGETorPOST) {
startLoadingSpinner();
}
}
更新:我没有使用AJAX进行GET和POST。请求来自hrefs和表单。
答案 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
}