XMLHttpRequest对象javascript的send方法post参数.doc_第1页
XMLHttpRequest对象javascript的send方法post参数.doc_第2页
XMLHttpRequest对象javascript的send方法post参数.doc_第3页
XMLHttpRequest对象javascript的send方法post参数.doc_第4页
XMLHttpRequest对象javascript的send方法post参数.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

http_request.open(POST, default.aspx, true);http_request.setRequestHeader( Content-Type , application/x-www-form-urlencoded ); /用post方法的话,一定要加这句。http_request.send(ajax=1&b=5);/然后再send方法中加参数。 然后再接受端,需要改变接受方法。Request.Formajax /这个用来接收send方法内的参数。Request.QueryStringajax /这个用来接收通过url传进来的参数。就是说,可以现在http_request.open(POST, default.aspx?value=333, true); /通过url直接传递参数value。http_request.send(value=1&b=5);/同时又在send方法中使用参数value。接受的时候Request.Formvalue /接受send方法的value。Request.QueryStringvalue /接受url直接传递过来的参数。这两个可以同时接受到不同的值。如果Open的第一个参数为GET则既可以用Request.Formvalue接收url的数据,也可以用QueryString获取。系统学习ASP,就是先从ASP的几大内置对象开始的.一般称五大对象:Request、Response、Server、Session、Application。今天先来看看Request对象。当然一直还没有提到的就是,ASP到底是什么样?我看代码怎么知道是ASP代码?很简单,当看到“”就表明是ASP,并且两者之间的就是ASP源码。那为什么要学对象,对象的作用又是如何的?其实ASP所提供的这些可在脚本中使用的内建对象,使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,从而使对象开发者摆脱了很多烦琐的工作。而Request对象的主要作用就是:在服务器端接受并得到从客户端浏览器提交或上传的信息。Request 对象可以访问任何基于 HTTP 请求传递的所有信息,包括从Form表单用 POST 方法或 GET 方法传递的参数、cookie 等。一,Request.form(name)这是接受上一页的信息时,常会用到的一种接受方式。Request是ASP对象,form则是Request对象所包含的对象集合(这要有区别与HTML页中的form表单,是不一样的),name也就是上一页表单中的某个文本框、密码框,或者隐藏域等的名称。并且还有一点非常重要:上一页Form表单的递交方法一定要为Post方法。说不如做,看下面两个页面程序。1,test1.html(本页是HTML的,主要提供输入信息的平台,以将信息提交到再下面的ASP页进行接受处理)your name:your pwd: 注意method就是post,且提交的页面action为submit1.asp。2,submit1.asp(ASP页面,进行从test1.html接受name=yourname和name=yourpwd的两个值)your name is:your pwd is:通过IIS进行HTTP协议的页面调试,你会发现两个页面进行了关联:test1.html中动态输入的name和pwd,在submit1.asp也则进行相应的动态显示。这就是接收、提取并显示信息的全过程。3,改进的submit1.asp:采用了for循环语句,将上页所有的form标签信息进行接受、并显示。这在上表单页有很多项目时,非常快捷地出来结果。首先仍然是request.form,只是后面的(yourname)或(yourpwd)变成了变量 i通过for循环对该form集合进行遍历提取,这是一种不同于机械地“有几个就提取几个”的编程思想,注意掌握。二,Request.querystring(name)此时由Request.form变为Request.querystring,最主要的还是上页表单递交时,采用的什么方法。当采用post就用Request.form,否则当采用get时就采用Request.querystring了。那Request.querystring最大特色在哪里呢?Request.querystring能检索并接受 HTTP 查询字符串中变量的值,而HTTP 查询字符串则是由问号 (?) 后的值指定的。说了大半天,继续看一个程序。1,test2.html(本页同是HTML的,主要提供输入信息的平台,以将信息提交到再下面的ASP页进行接受处理,注意提交方法是get)your name:your pwd: 和test1.html最大区别也就是method=get2,submit2.asp(ASP页面,进行从test1.html接受name=yourname和name=yourpwd的两个值)your name is:your pwd is:注意此时的浏览器地址栏,文件后面多出了?号,?号后面附有变量名及所被赋的值,当然多个变量名之间是用&号进行连接的。而Request.querystring最大的功能就是能将?号后面的这些变量名分开,并且所对应的值也一一取出。刚才说到不同的变量名之间是用&号进行连接,但如果是相同的变量名时,request.querystring到底是提取前一个?后一个?还是两个一起?用例子说话。3,query.asp(名称是query.asp,因为在该页程序中是反馈给自己。)asp教程jsp教程xsp教程you chosed 很明显当点xsp教程时,显示的是“xsp教程,xml”,中间自动加了“,”号。最后仍需要说明的是:request.querystring在分页程序里面是经常用到的。三,Request.ServerVariables(xxx)其中ServerVariables就是服务器的环境变量了,该变量包含的内容比较多,我们同样先采用for循环进行遍历查看下。1,server1.asp : 可以看到一大堆环境变量,其中还有没有值的,下面摘取几个比较常用的。http_user_agent(客户端机器的相关环境):http_accept_language(浏览语言):CONTENT_LENGTH(客户端发出内容的长度):CONTENT_TYPE(内容的数据类型。如“text/html”。同附加信息 的查询一起使用,如 HTTP 查询 GET、POST 和 PUT):LOCAL_ADDR(返回接受请求的服务器地址。如果在绑定多个IP地址的多宿主机器上查找请求所使用的地址时,这条变量非常重要):REMOTE_ADDR(发出请求的远程主机client的 IP 地址):SERVER_NAME(出现在自引用 URL 中的服务器主机名、DNS 化名 或 IP 地址):SCRIPT_NAME(主机名后面的虚拟地址):LOGON_USER(用户登录 Windows NT 的帐号):SERVER_PORT(发送请求的端口号):根据以上的SERVER_NAME是提取的服务器主机名,SCRIPT_NAME是提取的虚拟地址,则两者的结合再加上http:/ 是不是就是个完整的网址呢。 2,server2.asp其中http:/ 用引号引起,表示是一字符串,a和b分别是对应了具体值的变量,在ASP中进行这样的连接就是采用&号。 根据这个结果,我们是不是就可以随时提取动态的URL地址了。再来看看query.asp,要求一定要保存为query.asp的,因为如果不是该文件名,程序指向就会出错。但现在的这个文件就随便你保存为什么文件,都一样执行。3,xxx.asp(随便你保存成什么文件)a href=?bookname=asp教程asp教程a href=?bookname=jsp教程jsp教程a href=?bookname=xsp教程&bookname=xmlxsp教程you chosed 先将当前文件的地址取出并赋值给变量filepath,然后所有的链接地址开头都只要直接引用该变量就OK了。是不是很有用,有点万能的感觉。四,Request.Cookies(name)不用我说,Cookie是个很重要的东西,究竟如何,等我们学完了下面的对象Response后。以上四则运用,属于Request对象的所包含的四个对象集合:form、querystring、servervarivables、cookies。当然还有个ClientCertificate就不说啦一个ASP内置对象除了对象集合外还有对象属性、对象方法Request对象的对象属性只有一个就是TotalBytes(接受的字节数),你可将该语句加入到任何一个接受数据的ASP页面中进行显示了。Request对象的对象方法也还是一个:BinaryRead 。说实话,这东东不常用,我也没用过,呵呵。OK!有关Request对象的学习就差不多了,最主要是先好好理解三个对象集合,cookies不着急,下节学习对象Response。var xmlHttpRequest;function createXmlHttpRequest()if(window.ActiveXObject)/如果是IE浏览器return new ActiveXObject(Microsoft.XMLHTTP);else if(window.XMLHttpRequest)/非IE浏览器return new XMLHttpRequest(); function doTraining(tType)var url = test?operate=+tType;/请求资源为servletxmlHttpRequest = createXmlHttpRequest();xmlHttpRequest.onreadystatechange = haoLeJiaoWo; xmlHttpRequest.open(post,url,true);/第一个参数为POST或GET/xmlHttpRequest.setRequestHeader(Content-Type,application/x-www-form-urlencoded;charset=UTF-8);/上面一句结合POST使用时 必须,GET不需要/xmlHttpRequest.send(flag=中文&aa=你好);/当提交方法为POST时xmlHttpRequest.send(null);/当提交方法为GET时 function haoLeJiaoWo()if( xmlHttpRequest.readyState = 4 &xmlHttpRequest.status = 200)var score = xmlHttpRequest.responseText;var dvScore = document.getElementById(dvScore);dvScore.innerHTML = score;Ajax以 post 方式传递参数有两种情况:1.在 url 中传递,这时 url 的长度约2K(2048)。var xmlHttp = newXMLHttpRequest();xmlHttp.onreadystatechange = function()return processTxtRequest.call(xmlHttp, xmlHttp);var url = /itemList.do?tableFlag=Test&txtStr=+txtStr;xmlHttp.open(POST, url, true);xmlHttp.send(null);2.在 send() 方法中传递,此时 send() 的参数长度可达到 1M 以上,再多我就没有进行测试了。var xmlHttp = newXMLHttpRequest();xmlHttp.onreadystatechange = function()return processTxtRequest.call(xmlHttp, xmlHttp);var url = /itemList.do;xmlHttp.open(POST, url, true);xmlHttp.setRequestHeader(Content-Type, application/x-www-form-urlencoded); xmlHttp.send(tableFlag=Test&txtStr=+txtStr);When you make a POST request, you will need to set the Content-type header. This way, the server knows what to do with the uploaded content. To mimic sending a form using HTTP POST, you set the content type to application/x-www-form-urlencoded. URLencoded data is the same format that you see in a URL after the ?. 如果要POST请求,需要设定Content-type头信息。这样服务器才会知道该如何处理上传来的内容。为了能够模仿使用HTTP POST发送一个表单,你需要设定content type为application/x-www-form-urlencoded。URLencoded数据和你在URL中看到的?后的格式是一样的。有个例子:var req = new XMLHttpRequest();req.open(POST, index.php, false);req.setRequestHeader(Content-type, application/x-www-form-urlencoded;charset=UTF-8;);req.send(hello=world&XMLHttpRequest=test);if(req.status = 200)alert(req.responseText);哦,还有,Request和Response中的文字编码要一致,否则也会出现服务器上的目标页无法获得数据的情况。检查一下web.config和网页上的编码说明。这里有/ghj/archive/2004/10/18/35772.aspxajax中send方法参数使用说明: 用ajax提交有GET和POST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论