XMLHttpRequest里的setRequestHeader到底怎么用?

「已注销」 2014-03-07 04:08:28
//获取ajax对象
var xmlHttp = new XMLHttpRequest();
/**
* 1.method http方法,例如:POST、GET、PUT及PROPFIND。大小写不敏感。
* 2.url 请求的URL地址,可以为绝对地址也可以为相对地址。
* 3.async 布尔型,指定此请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。
* 4.username 如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。
* 5.password 验证信息中的密码部分,如果用户名为空,则此值将被忽略。
*/
var method = "get";
var url = "test.php";
var async = true;
xmlHttp.open(method, url, async);
//设置回调函数,接收服务器端的信息以进行处理
xmlHttp.onreadystatechange = getServerInfo;
//想服务器端发送内容,为什么不起作用呢?
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(null);

/*****************ajax的回调函数*******************/
function getServerInfo(){
if(xmlHttp.readyState==4){
var headers = xmlHttp.getAllResponseHeaders();
//获取所有响应头信息
alert(headers);
//获取指定的响应头里面的信息
//获取时间
//alert(xmlHttp.getResponseHeader("Date"));
//获取服务器
//alert(xmlHttp.getResponseHeader("Server"));
//获取服务器脚本版本
//alert(xmlHttp.getResponseHeader("X-Powered-By"));
//获取相应头长度
//alert(xmlHttp.getResponseHeader("Content-Length"));
//获取链接状态
//alert(xmlHttp.getResponseHeader("Connection"));
//获取文档类型
//alert(xmlHttp.getResponseHeader("Content-Type"));
//获取连接持续时间
//alert(xmlHttp.getResponseHeader("Keep-Alive"));
document.myform.time.value = xmlHttp.responseText;
}
}
这是我的代码,下面所有alert弹出的内容都是自己在headers里面抓取的,但是我用了setRequestHeader方法后,却看不到什么效果,而且在headers里面也看不到我自己写的内容,是怎么回事呢?能告诉我setRequestHeader()方法的详细使用么?
...全文
23886 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
老杂毛一番 2014-08-11
  • 打赏
  • 举报
回复
事实上飒飒
hookee 2014-03-08
  • 打赏
  • 举报
回复
setRequestHeader是递交到服务器的,浏览器按F12,在开发者工具中,跟踪网络查看到请求头信息。
孟子E章 2014-03-08
  • 打赏
  • 举报
回复
var method = "get"; var url = "test.php"; var async = true; var data = "username=" + encodeURIComponent(username) + "&password=" + encodeURIComponent(password) xmlHttp.open(method, url, async); //设置回调函数,接收服务器端的信息以进行处理 xmlHttp.onreadystatechange = getServerInfo; //想服务器端发送内容,为什么不起作用呢? xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-Length", data.length); xmlHttp.send(data);
孟子E章 2014-03-08
  • 打赏
  • 举报
回复
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 这个设置只有post方法才用的
「已注销」 2014-03-08
  • 打赏
  • 举报
回复
谢谢哈,学习了.
「已注销」 2014-03-07
  • 打赏
  • 举报
回复
能给个具体的例子么?
zhjdg 2014-03-07
  • 打赏
  • 举报
回复
你要求的东西,服务器没有, 没有,服务器发一个反馈给你。你格式是服务器自己构造的。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧