什么是Ajax的标题角色?为什么我们需要这个?
在下面的这个特定情况下,导致xhttp.setRequestHeader()
和没有?
<!DOCTYPE html>
<html>
<body>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
}
}
xhttp.open("POST", "demo_post2.asp", true);
// xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("fname=Henry&lname=Ford");
</script>
</body>
</html>
答案 0 :(得分:1)
HTTP标头用于发送附加数据或元数据以及请求的主体,以向服务器或浏览器提供诸如内容类型之类的信息;例如,浏览器可能告诉服务器它希望服务器使用JSON编码数据进行响应。
在这种情况下,将content-type
设置为x-www-form-urlencoded
会告知服务器表单数据被编码为URL查询字符串(例如,使用?name=value&othername=othervalue
)。如果您想上传文件而不是发送常规表单数据,则可以使用multipart/form-data
代替content-type