一、为何要用到setRequestHeader
通 常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTTP协议的头文件,告诉服务器客户端要下载什么信息以及相关的参数。而 XMLHTTP 就是通过HTTP协议取得网站上的文件数据的,所以也要发送HTTP头给服务器。 但是 XMLHTTP 默认的情况下有些参数可能没有说明在HTTP头里,这是当我们需要修改或添加这些参数时就用到了 
setRequestHeader 方法。

二、setRequestHeader参数详解
使用GET下列参数 XMLObject.setRequestHeader ("CONTENT-TYPE", "application/x-www-form-urlencoded" )
代表的意义:

GET /bb.asp?www=1234 HTTP/1.1 
Accept: */* 
Accept-Language: zh-cn 
UA-CPU: x86 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) 
CONTENT-TYPE:application/x-www-form-urlencoded 
Host:ourys.com 
Connection: close 
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII

注:
1、CONTENT-TYPE:application/x-www-form-urlencoded含义是表示客户端提交给服务器文本内容的编码方式 是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示

2、当然还有其他编码方式,如:CONTENT-TYPE:multipart/form-data 
至于:Content-length 就是表示提交的数据字节大小 
http有几种提交方式,其中比较常用的就是 GET 和 POST

3、这个标志就放在HTTP头开头的地方,这样讲容易理解点 
GET 方式是没有提交内容的,所以 Content-length 在 GET 模式下是无效的. 
GET 传参数的方式就是通过虚拟地址传送,如: 
GET /bb.asp?www=1234 HTTP/1.1 
参数全部就只有 "www=1234" 这么多

4、如果用POST的话就有些不同,POST是将参数放到HTTP后面的,就以上面的HTTP作范例,用POST的方法传参数

POST /bb.asp HTTP/1.1 
Accept: */* 
Accept-Language: zh-cn 
UA-CPU: x86 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) 
CONTENT-TYPE:application/x-www-form-urlencoded 
Host: ourys.com 
Content-length: 8 
Connection: close 
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII

www=1234

这时,数据就需要说明字节大小了

至于 Connection: Close,很明显英文的意思是 连接:关闭 
只是客户端在提交数据时告诉服务器让谁先关闭连接而已。

三、PS:
setRequestHeader方法只是XMLHTTP为添加或修改HTTP头提供的一个接口方法而已, 
至于里面的值则是HTTP协议的含义,当然也可以发自己的东西进去,即使IIS不能识别你的信息也不会报错 
如: 
setRequestHeader ("MyName", "Supermanking" )

虽然IIS不会报错,但这个信息也可以有用,可以在ASP程序里读取HTTP头信息分析是否有 
MyName: Supermanking 
信息,可根据你的需求来做处理

转自:http://muyi137.diandian.com/post/2011-05-20/918918

Ajax之不可或缺的setRequestHeader()相关推荐

  1. 一次较为完整的原生JavaScript AJAX与Java的前后端数据交互

    效果 Maven 依赖 <dependency><groupId>javax.servlet</groupId><artifactId>javax.se ...

  2. JSP中使用AJAX示例 分别将结果提交为STRUTS,SERVLET WEBWORK的不同操作方式

    我原先刚开始学AJAX的时候,忘了从什么地方拉下来的一篇文章,不过,如果没有AJAX基础,最好不看这篇示例,因为你肯定看不懂,因为这个示例页不能够给你立即看到立即实现的效果,你应该先去看一个最简单的示 ...

  3. ajax请求使用utf-8,Ajax,请求标头UTF-8到ISO字符集[重复]

    这个问题在这里已有答案: 我有一个编码iso-8959-9的页面 . 我将ajax请求发送到同一页面,同时将一些数据保存到DB . 但它将角色转换为utf-8 . 我的响应 Headers 似乎很好用 ...

  4. JavaScript之ajax

    ajax可以异步加载,在不刷新整个网页的情况下和服务端交互信息并更新页面的一个部分.主要有两种请求方式:get和post. 由于ie6以上才支持XMLHttpRequest所以在声明对象的时候最好如下 ...

  5. JS原生Ajax和jQuery的Ajax与代码示例

    JS原生Ajax和jQuery的Ajax [学习目标] 1,了解JS原生Ajax原理 2,掌握json数据格式 掌握json数据格式方式 掌握json的解析方式 3,掌握jQuery中的Ajax封装 ...

  6. AJAX学习笔记——发送AJAX的POST请求,模拟from表单提交

    关于AJAX发送POST请求,首先演示一个小案例. 当输入用户名:张三,密码:123.点击发送请求按钮 这是用post请求模拟的表单提交.接下来看一下如何用AJAX发送POST请求 后端代码: @We ...

  7. ajax(java)

    ajax概述 什么是异步,什么是同步? 假设有t1线程和t2线程,t1线程和t2线程并发,就是异步.假设在t2线程执行时,必须等待t1线程执行到某个位置之后t2才能执行,那么t2在等t1,排队的就是同 ...

  8. 【AJAX】入门AJAX

    入门AJAX AJAX概述 AJAX的使用 XMLHttpRequest 创建XMLHttpRequest对象 XMLHttpRequest对象的常用方法 XMLHttpRequest对象的常用属性 ...

  9. javaWeb-3 jQuery、Ajax

    jQuery jQuery概述 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计 ...

最新文章

  1. python中copy模块的使用,深拷贝和浅拷贝
  2. 【Android 插件化】Hook 插件化框架 ( Hook Activity 启动流程 | Hook 点分析 )
  3. leetcode-458-Poor Pigs
  4. ELK+Kafka 企业日志收集平台(一)
  5. 阮一峰react demo代码研究的学习笔记 - how to debug converted source code
  6. bat语句中“1>2”是什么意思?
  7. 语法高亮_Qt官方示例语法高亮器
  8. 微服务 前台调用后台的慢的原因_也只有阿里P8出身的他能把SpringCloud微服务架构商城项目整的这么干了...
  9. 基础集合论 第一章 7 交集 8 差集
  10. 在WSL2上运行nVIDIA Nsight
  11. Android聊天软件开发(基于网易云IM即时通讯)——发送文本消息(四)
  12. Anaconda安装python包的几种方法
  13. AWGN信道条件下,基于16QAM+OFDM的误码率计算,并与理论值对比
  14. BZOJ 3162 / Luogu P4895: 独钓寒江雪 树hash+DP
  15. asp.net web开发框架_Web前端开发必不可少的9个开源框架
  16. Python爬虫:按分类批量爬取环球新闻
  17. 不懂带人就自己累到死:带团队1核心、4重点、6角色、10注意
  18. 如何烧录tizen镜像文件?(图文教程)
  19. 如何将电脑的动态IP设置成静态IP,并成功上网
  20. USB移动储存设备启用/禁用工具电脑资料防止U盘拷贝防泄漏软件

热门文章

  1. 业务逻辑层,表示层,会话层及层间关系
  2. 太极链——金融的大幅转型已成为趋势
  3. 天猫智慧门店探索:大数据驱动的品牌零售赋能
  4. 铃木uy125最高时速_UY125,这才是铃木踏板该有的样子!
  5. 0基础python入门书籍 excel_【曾贤志】从零基础开始用Python处理Excel数据 - 第1季 基础篇...
  6. 【STM32F429的DSP教程】第48章 STM32F429的中值滤波器实现,适合噪声和脉冲过滤(支持逐个数据的实时滤波)
  7. RPC 协议之争和选型要点
  8. MD5算法与Salt
  9. PHP 单例模式实例与解析
  10. html的静态网页花艺彼岸的花,【花艺分享】插花艺术(之二)