本文转载自微信公众号《UP技术控》,作者conan5566。转载本文请联系UP技控公众号。概述在编写后台程序时,有时需要知道客户端发送的是普通请求还是ajax请求。最近在做项目的时候,有些地方需要判断当前请求是否是ajax。搜索了一下,发现jQuery在发送ajax请求时,会在请求头中添加一个名为X-Requested-With的消息,消息内容为:XMLHttpRequest。Ajax请求的请求头中会有一个key为x-requested-with,值为XMLHttpRequest的header,所以我们可以利用这个特性来判断。判断是不是ajaxusingSystem;namespaceCompanyName.ProjectName.Web.Host.Framework{publicstaticclassRequestExt{//////DetermineswhetherthespecifiedHTTPrequestisanAJAXrequest.////////////trueifthespecifiedHTTPrequestisanAJAXrequest;otherwise,false.//////TheHTTPrequest.//////The///parameterisnull(NothinginVisualBasic).publicstaticboolIsAjaxRequest(thisMicrosoft.AspNetCore.Http.HttpRequestrequest){if(request==null)thrownewArgumentNullException("request");if(request.Headers!=null)returnrequest。Headers["X-Requested-With"]=="XMLHttpRequest";returnfalse;}}}控制ajax才能使用方法usingMicrosoft.AspNetCore.Mvc.Abstractions;usingMicrosoft.AspNetCore.Mvc.ActionConstraints;usingMicrosoft.AspNetCore.Routing;namespaceCompanyName。HttpContext.Request;if(request!=null&&request.Headers!=null&&request.Headers["X-Requested-With"]=="XMLHttpRequest")returntrue;returnfalse;}}}