是否有任何方法可以发现请求是正常请求(请求,例如回发操作或重定向或表单提交)或Ajax请求?
我正在使用 JQuery lib发送请求并调用 Web方法
答案 0 :(得分:2)
假设您正在使用Web窗体和更新面板,我们使用的是:
ScriptManager sm = ScriptManager.GetCurrent(this);
return sm != null && sm.IsInAsyncPostBack;
更通用的方法是检查请求中的X-Requested-With标头。
Request.Headers["X-Requested-With"] == "XMLHttpRequest"
对您有什么好处取决于您的情况。您想检测页面是否正在执行部分更新,或者您想知道浏览器是否通过XMLHttpRequest请求它?
使用JavaScript进行AJAX调用时的另一个选择是传递一个查询字符串参数,指示您正在进行AJAX调用。