如何查看asp.net api中ajax调用请求的数据类型
本文关键字:调用 请求 数据类型 ajax 何查看 asp net api | 更新日期: 2023-09-27 18:04:03
NET API,当你在ajax中设置请求的数据类型时,你如何得到ajax调用请求的数据类型?
$.ajax({
url: url,
data: params,
dataType: "xml",
type: "GET",
statusCode: {
200: function (data) {
}
}
然后,在我的控制器中,我想知道我请求的是XML还是JSON。
Thanks in advance
这在accept http报头中- asp.net webapi将为您完成大部分内容类型协商-见这里
jQuery会把它作为application/json或application/xml放在accept报头中,你可以手动将它从请求中取出。标题如果我没有弄错的话,这个信息将在你的HTTP请求中翻译为'Accept'头。我不能100%确定,因为这也可能只是JQuery保存的信息,以便更好地解码答案。无论如何,在Ajax设置中也有一个accepts
参数,它可以确定地设置请求的"Accept"标头。然而,JQuery的文档说,accepts
参数的默认值取决于dataType
参数,所以我想说我的第一个猜测是正确的。
要从控制器中检索标题,只需调用:
IEnumerable<string> headerValues = request.Headers.GetValues("MyCustomID");
var id = headerValues.FirstOrDefault();
(关于此方法的错误处理,请参阅答案)