Php 为ajax调用设置xmlhttpRequest.setRequestHeader?

Php 为ajax调用设置xmlhttpRequest.setRequestHeader?,php,javascript,ajax,Php,Javascript,Ajax,当我有一个ajax调用时,为什么要设置xmlhttpRequest.setRequestHeader?从ajax对象看,我们发送的是ajax请求,这不是很明显吗 您必须首先了解AJAX请求是HTTP请求。当你添加 xmlhttp.setRequestHeader('Content-Type','XXXXXXXXX'); 它添加了一个标头,用于定义请求主体中将包含的数据类型应用程序/x-www-form-urlencoded表示数据将是表单数据。数据格式可以是其他格式。只是表单数据是最常见的发送

当我有一个ajax调用时,为什么要设置xmlhttpRequest.setRequestHeader?从ajax对象看,我们发送的是ajax请求,这不是很明显吗

您必须首先了解AJAX请求是HTTP请求。当你添加

xmlhttp.setRequestHeader('Content-Type','XXXXXXXXX');

它添加了一个标头,用于定义请求主体中将包含的数据类型<代码>应用程序/x-www-form-urlencoded表示数据将是表单数据。数据格式可以是其他格式。只是表单数据是最常见的发送到服务器的内容。

您所说的请求头是什么?有无限的可能性。我的意思是,如果我想在php上确定请求是ajax请求,那么必须设置xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded')吗在js中,如果我使用下拉框或选择框,我仍然需要使用application/x-www-form-urlencoded?@Aditya当你想随请求发送POST数据时,你只需要使用
application/x-www-form-urlencoded
。@HolyVier收到了,谢谢,是否必须设置RequestHeader?@Aditya只有当您想添加默认情况下不存在的header时才需要设置。在大多数情况下,您不需要添加任何变量,因此它根本不是必需的。@Aditya$\u服务器是与服务器和脚本运行环境相关的变量,它与查询无关。如果要检索发送到的标头,可以使用函数get_headers()。