当前位置: 首页 > 面试题库 >

ASP.NET MVC-IsAjaxRequest()的实际含义是什么?

习和通
2023-03-14
问题内容

我以前在基本控制器上创建了一个方法

public bool IsJsonRequest()
{
    var acceptTypes = Request.AcceptTypes;
    return acceptTypes != null && 
           acceptTypes.Any(a => a.Equals("application/json",
                                         StringComparison.OrdinalIgnoreCase));
}

然后我偶然发现AjaxRequestExtensions.IsAjaxRequest()。它的文档非常模糊:

如果指定的HTTP请求是AJAX请求,则为true;否则为true。否则为假。

这让我开始思考,使它成为AJAX的HTTP请求又是什么呢?除了检查请求者接受的内容类型之外,还有其他用途吗?或者编码不是成为“ AJAX”的必要条件吗?

(请注意,在我的情况下,只能从网站上的JS页面调用我的操作,而JSON是唯一必需的编码。)


问题答案:

它检查X-Requested- With(HTTP_X_REQUESTED_WITH)标头是否设置为XMLHttpRequest。发出AJAX请求时,此标头由jQuery和许多其他JavaScript框架设置。



 类似资料:
  • 问题内容: 我不会很久了。还有其他类似于“实例”的单词更容易理解吗?对于非程序员,您如何解释实例?实例就像普通人的世界中的例子。如果我什至不了解它的含义,我将无法理解它是什么。 问题答案: 最好理解“实例”,因为它与编程中的“类”有关。“类”用于定义事物 类别 的属性和行为。例如,“汽车”类别可能会规定所有汽车均应按其品牌,型号,年份和行驶里程进行定义。 但是您不能提供有关特定汽车的详细信息(例如

  • 问题内容: 在构建RPM软件包的过程中,我必须指定BuildRoot,以后将在%install中使用它来侵害$ RPM_BUILD_ROOT。我一直认为$ RPM_BUILD_ROOT是RPM执行打包的假安装。然后,在使用RPM软件包进行安装时,它将安装到实际位置。例如: 我认为$ RPM_BUILD_ROOT仅用于打包过程,并且在某些方面,当用户执行“ rpm -ivh package.rpm”

  • 问题内容: 我有时讨厌文档(当您是初学者时)的一件事是它实际上并没有用英语描述事物。有人介意为我翻译这份文档吗?我想知道这到底如何使黑客更难以插入字符。 http://php.net/manual/zh/function.mysql-real-escape- string.php 此外,如果是这种情况,黑客将如何尝试插入字符? 问题答案: 该函数在传递给该函数的字符串中的某些潜在危险字符之前添加转

  • 问题内容: Java中“ this”的含义是什么? 问题答案: this 指当前对象 每个非静态方法都在对象的上下文中运行。因此,如果你有这样的课程: 然后调用上会打印 因此,有效地将它用于多种用途: 澄清你在谈论一个字段,当还有其他与该字段同名的东西时 整体引用当前对象 在构造函数中调用当前类的其他构造函数

  • 问题内容: 这个静态函数是来自名称空间的类中的吗? 我该如何解释这个名字?在JRE中的哪个位置定义了此功能?在/ ? 问题答案: 否。实际上是类中的静态成员(不是.NET中的静态成员),它是。的实例。并且是该类的常规(重载)方法。 请参阅http://download.oracle.com/javase/6/docs/api/java/lang/System.html#out。 其实,如果/ /

  • 问题内容: 这段代码在: 最后一行使我感到非常困惑。我不知道的意思。 这些是其他代码: 结果是 我猜想的功能是从中选择所有元素,但是我还没有找到正式的解释。它是什么? 问题答案: builtin.go中的代码用作文档。该代码未编译。 在指出这个函数的最后一个参数是可变参数。可变参数在Go语言规范中进行了说明。 该类型的部分为任何围棋类型替身。