新加:设置编码方法
setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=gb2312")
语法
oXMLHttpRequest.setRequestHeader(bstrHeader, bstrValue);
参数
bstrHeader 字符串,头名称。
bstrValue 字符串,值。
还是不很明白
1、XMLObject.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
CONTENT-TYPE是什么意思,application/x-www-form-urlencoded是什么意思?
2、下面几句setRequestHeader的含义?
setRequestHeader("Content-type", "application/x-www-form-urlencoded");
setRequestHeader("Content-length", paramsSend.length);
setRequestHeader("Connection", "close"); |
解答:
通常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTTP协议的头文件,
告诉服务器客户端要下载什么信息以及相关的参数,如:
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)
Host: www.e4j.cn:89
Connection: Keep-Alive
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII
而 XMLHTTP 就是通过HTTP协议取得网站上的文件数据的,所以也要发送HTTP头给服务器。
但是 XMLHTTP 默认的情况下有些参数可能没有说明在HTTP头里,这是当我们需要修改或添加这些参数时就用到了
setRequestHeader 方法。
就比如如果上面这段HTTP头文件内容是 XMLHTTP 提交默认的情况,当使用 setRequestHeader 方法后就这样,如:
XMLObject.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
setRequestHeader "Connection", "close"
这时HTTP头信息就应该是这样了:
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: www.e4j.cn:89
Connection: close
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII
setRequestHeader方法只是XMLHTTP为添加或修改HTTP头提供的一个接口方法而已,
至于里面的值则是HTTP协议的含义,当然也可以发自己的东西进去,即使IIS不能识别你的信息也不会报错
如: setRequestHeader "MyName", "Supermanking"
虽然IIS不会报错,但这个信息也可以有用,可以在ASP程序里读取HTTP头信息分析是否有
MyName: Supermanking 信息,可根据你的需求来做处理,还有,CONTENT-TYPE:application/x-www-form-urlencoded含义是表示客户端提交给服务器文本内容的编码方式是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示
当然还有其他编码方式,如:CONTENT-TYPE:multipart/form-data
至于:Content-length 就是表示提交的数据字节大小
http有几种提交方式,其中比较常用的就是 GET 和 POST
这个标志就放在HTTP头开头的地方,这样讲容易理解点
GET 方式是没有提交内容的,所以 Content-length 在 GET 模式下是无效的.
GET 传参数的方式就是通过虚拟地址传送,如:
GET /bb.asp?www=1234 HTTP/1.1
参数全部就只有 "www=1234" 这么多
如果用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: www.e4j.cn:89
Content-length: 8
Connection: close
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII
www=1234
这时,数据就需要说明字节大小了
至于 Connection: Close,很明显英文的意思是 连接:关闭
只是客户端在提交数据时告诉服务器让谁先关闭连接而已。
分享到:
相关推荐
ajax 请求头部设置 XMLHTTP中setRequestHeader参数问题
8. **兼容性问题**:在旧版本的IE浏览器中,可能需要使用ActiveXObject替代XMLHttpRequest,例如`new ActiveXObject("Microsoft.XMLHTTP")`。 9. **最佳实践**: - 使用预加载技术,提前初始化XMLHttp对象,避免...
提供的代码示例中存在一些问题,比如: 1. **初始化**:缺少了对COM库的初始化。 2. **异常处理**:在出现异常时没有详细处理错误信息。 3. **类型转换**:参数传递时的类型转换不正确。 4. **对象创建**:创建...
这行代码在JavaScript中创建了一个XMLHTTP对象,你可以指定不同的MSXML版本号,例如MSXML2.XMLHTTP.3.0或MSXML2.XMLHTTP.6.0。 二、XMLHTTP的方法 1. `Open()`方法:用于初始化HTTP请求。参数包括请求类型(如GET或...
XMLHTTP,全称为...总之,XMLHTTP对象是现代Web开发中的重要工具,它实现了浏览器与服务器间的无刷新通信,从而创建出更动态、更响应式的网页应用。结合ASP和数据库,我们可以构建出高效的数据驱动的Web服务。
8. **setRequestHeader()** 方法:设置HTTP请求头,例如,`xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');` 9. **abort()** 方法:中断当前的HTTP请求。 使用XmlHttp对象实现...
XMLHTTP是 AJAX(异步JavaScript和XML)技术中的核心组件,它允许Web应用程序在不刷新整个页面的情况下与服务器进行通信,实现数据的动态更新。这个参考手册,以HTML格式呈现,详细介绍了XMLHTTP对象的使用方法,...
XMLHTTP的名称虽然包含了XML,但实际上,传输的数据格式不仅限于XML,也可以是JSON、文本或二进制数据等。这一特性使得它在处理各种类型的数据时都非常灵活。 XMLHttpRequest的工作原理: 1. 创建实例:首先,我们...
- 设置请求头,比如Content-Type为multipart/form-data,表示上传文件:`xmlHttp.setRequestHeader("Content-Type", "multipart/form-data")` - 将文件内容转换为二进制流,写入请求体:`xmlHttp.Send(fileData)` - ...
XMLHTTP,全称为“XMLHttpRequest”,是Web开发中的一个关键组件,尤其在AJAX(Asynchronous JavaScript and XML)技术中扮演着核心角色。这个“XMLHTTP中文手册”旨在为中文用户详细解读XMLHTTP的工作原理、使用...
XMLHTTP,全称为“XMLHttpRequest”,是Web开发中一个关键的技术组件,特别是在JavaScript异步通信中扮演着核心角色。这个技术允许网页在不刷新整个页面的情况下与服务器进行数据交互,从而实现了动态更新内容,极大...
### AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题 #### 背景与问题概述 在使用AJAX技术进行前后端数据交互时,经常会出现中文字符编码的问题,尤其是在使用`XMLHttpRequest`对象发送请求的过程中。例如...
它在Web开发中扮演着至关重要的角色,尤其是在JavaScript和VBScript中,通过Ajax(Asynchronous JavaScript and XML)技术进行页面的无刷新更新时,XmlHttp对象是不可或缺的工具。 XmlHttp对象的核心功能在于它能够...
GET请求的参数显示在URL中,而POST请求的参数包含在请求体中,因此POST更适合传输敏感或大量数据。 在VB中,我们可以创建XMLHTTP对象来实现这些功能。以下是一段示例代码: ```vb Public Function GetData(ByVal ...
XMLHTTP调用WebService是Web开发中的一个重要技术,它允许客户端(如ASP页面)与服务器端的WebService进行异步数据交互,极大地提升了Web应用的响应速度和用户体验。在本篇文章中,我们将深入探讨XMLHTTP对象、...
请求中可能包含了需要更新的数据标识或者特定参数,然后服务器根据这些信息处理数据。 例如,JavaScript代码可能会如下所示: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', 'Server.asp', ...
它是一个内置在浏览器中的对象,可以通过JavaScript创建和访问。创建一个新的XMLHttpRequest对象的代码如下: ```javascript var xhr = new XMLHttpRequest(); ``` XMLHttpRequest对象提供了几个重要的方法,用于...