ASP.NET,确定请求内容类型是否为JSON
我想在HttpRequestBase类型上实现一个扩展方法IsJsonRequest():bool。从广义上讲,这个方法应该是什么样的,有没有参考实现 这是一个私有API 编辑:ASP.NET,确定请求内容类型是否为JSON,asp.net,json,content-type,Asp.net,Json,Content Type,我想在HttpRequestBase类型上实现一个扩展方法IsJsonRequest():bool。从广义上讲,这个方法应该是什么样的,有没有参考实现 这是一个私有API 编辑: 建议;检查x-requested-with标头是否为“xmlhttprequest”?由于它是一个私有API,您可以控制JSON的内容类型,因此只需检查它是否为约定值即可 e、 g 由于它是一个私有API,您可以控制JSON的内容类型,因此只需检查它是否为约定值 e、 g 这将检查内容类型和X-Requested-Wi
建议;检查x-requested-with标头是否为“xmlhttprequest”?由于它是一个私有API,您可以控制JSON的内容类型,因此只需检查它是否为约定值即可 e、 g
由于它是一个私有API,您可以控制JSON的内容类型,因此只需检查它是否为约定值 e、 g
这将检查内容类型和X-Requested-With标头,其中:
这将检查内容类型和X-Requested-With标头,其中:
我也遇到了同样的问题,但不管出于什么原因,jQuery的$.get没有发送内容类型。相反,我必须在Request.AcceptTypes中签入“application/json”
希望这能在将来帮助其他人解决同样的问题。我也遇到同样的问题,但不管出于什么原因,jQuery的$.get没有发送内容类型。相反,我必须在Request.AcceptTypes中签入“application/json”
希望这能帮助其他人在将来解决同样的问题。注意:如果我阅读正确,Content Type标头会指定请求的格式-它与客户端期望得到的内容无关-这将是Accept标头:注意:如果我阅读正确,Content Type标头指定请求的格式-它与客户端期望得到的内容无关-这将是Accept标头:
public static bool IsJsonRequest(this HttpRequestBase request)
{
bool returnValue = false;
if(request.ContentType == "application/json")
returnValue = true;
return returnValue;
}
public bool IsJsonRequest() {
string requestedWith = Request.ServerVariables["HTTP_X_REQUESTED_WITH"] ?? string.Empty;
return string.Compare(requestedWith, "XMLHttpRequest", true) == 0
&& Request.ContentType.ToLower().Contains("application/json");
}