什么是'xmlhttp.setRequestHeader()'以及在哪些情况下使用
What is 'xmlhttp.setRequestHeader();' and in which situations is it used?
我在学习AJAX时偶然发现了这个命令。制作教程的人没有解释这个命令,命令中的参数是什么意思,它的用途是什么。。。以下是我在中使用的代码
<script type="text/javascript">
function insert(){
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else{
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
};
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById('message').innerHTML = xmlhttp.responseText;
};
};
parameters = 'insert_text='+document.getElementById('insert_text').value;
xmlhttp.open('POST','ajax_posting_data.php',true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(parameters);
};
</script>
HTTP是一种协议。该协议的一部分是请求头的概念。当xhr发生时,客户端和服务器之间会交换文本。请求头是客户端发送给服务器的文本的一部分。
这是一种设置请求头的方法。你看到的论点是
1) 要设置的标头(在本例中为内容类型)
2) 标头值。(在这种情况下,x-www-form-urlencoded)
查看此以了解更多信息。
HTTP请求是根据设置的例程("协议"-此处为HyperTextT&strong>transferp协议)从一个计算机系统传递到另一个计算机的消息,目的是执行发送数据、请求发回数据、更新以前发送的数据等操作。
报头基本上是关于HTTP请求主体中的数据的一段信息。它的目的是告诉接收请求的机器请求正文中包含的数据类型、格式、使用的语言、是否设置cookie、日期、主机等。
一个HTTP请求上可以放置多个标头,每个标头都有一个"名称"和一个"值"组件。在网页上,它们看起来像
<meta name="........" content="............."/>
您可以在元素中的网页顶部下方找到它们。
为了使人们能够从JavaScript函数中发送HTTP请求,我们创建了一个新的XMLHttpRequest对象,就像您的代码使用一样
const xmlhttp = new XMLHttpRequest();
您打算向这个新的空对象添加数据。尽管名称不同,XMLHttpRequest还允许以XML以外的多种格式发送数据,例如HTML代码、文本、JSON等="字符和每个数据/值配对将与下一个配对分开一个"0"";性格这种格式被称为URL编码。
我们必须告诉接收计算机HTTP请求体中的数据是如何编码的。有一个标准标头来传达这一点,并通过方法setRequestHeader(..)将其添加到请求中。此方法使用两个参数,标头名称和标头值。所有这些操作都是在线路中实现的
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
此setRequestHeader(。
open(…)方法定义:(1)HTTP请求的类型,例如GET/POST/PUT等;(2) 包含该请求的处理脚本的网页,例如一些.php文件或Node.js请求端点,该端点对后端数据库进行适当的查询;以及(3)请求动态的性质,例如,异步请求被分配一个值"true",同步请求被分配"false"。
send(.)方法将要发送的数据附加到请求的正文中,在您的情况下,是名为"parameters"的变量。
关于在哪些情况下使用setRequestHeader(..)这一更广泛的问题,我想说它在大多数HTTP请求情况下都会使用。但是,添加到HTTP请求主体中的某些类型的数据会调用"内容类型"标头的默认设置。
这正是它所说的。它将为下一个XMLHttpRequest
设置一个"标题"信息。
标头基本上是一对键/值。它用于向正在进行的请求的目标服务器传输"元"信息。在您的特定实例中,它用于告诉服务器此请求使用的内容类型。
它将内容类型HTTP标头设置为包含从表单发送的url编码数据。
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- 在不知道深度或父属性的情况下从对象中删除属性
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在不影响其他元素的情况下扩展DIV
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 在不移动内部文本的情况下缩放元素的效果
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 默认情况下折叠和展开嵌套列表
- 如何在不单击javascript中的按钮的情况下触发事件
- 什么是'xmlhttp.setRequestHeader()'以及在哪些情况下使用