浏览 6514 次
锁定老帖子 主题:请教两个关于 XMLHTTP 的问题~~
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-04-21
...... var qryParams="param1=a & param2=b"; xmlHttp.open("GET","/URI",true);; xmlHttp.send(qryParams);; ...... 这样的话,我在server端(一个servlet),就无法用getParameter的方法取得param1 和 param2 的值。只有将qryParams拼在URI后面才可以在server端取道参数。 ...... var qryParams="param1=a & param2=b"; xmlHttp.open("GET","/URI?"+qryParams,true);; xmlHttp.send(null);; ...... 而这样的话,假如我重复发送同一请求,只有第一次会送到server端,之后好像xmlhttp就会一直从cache里面直接取,怎样才可以强制让它每次都上server端请求一次呢?用POST方法似乎就没有这种问题。 2. 在WebFX上看到作者有一个例子是直接将一个XMLDocument对象通过send方法发送给server的,假如这样的话,在server端该如何取到这个XMLDocument呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-04-21
第二个问题,如果是asp的话就很简单:
set xml_dom = Server.CreateObject(“MSXML2.DOMDocument“) xml_dom.load(request) 第一个问题好象没有这回事(没有深究,只觉得get有长度问题) |
|
返回顶楼 | |
发表时间:2004-04-22
我想到应该怎么样取得客户端传过来的xml了
照asp的思路,应该是: 1.先建立一个document对象, 2.然后获得一个流, 3.然后解释这个流, 4.然后用document对象操作! 我想java应该是: 1.建立一个parse对象. 2.然后获得一个流(java中的应该是request.getInputStream()). 3.创建一个document对象(传流入parse对象获得document对象). 4.用document对象操作! |
|
返回顶楼 | |
发表时间:2004-04-23
我昨天也搞掂啦:)
第二个问题和xiaoyu说的差不多了~~ 我是用apache 的XERCES来处理XML的,对于request.getInputSource(),还需要转化成XMLInputSource,才能交给parser处理。其它都如xiaoyu所说啦:) 第一个关于使用GET方法强迫xmlhttp每次都去server获取最新数据的问题,在网上找到了一些论坛里面有人讨论过。似乎只有一个笨办法,在URI后面加多一个参数作为时间戳: 比如: "/TestController?param1=a¶m2=b" 改成 "/TestController?param1=a¶m2=b&timeStr="+(new Date();); 不知道各位DX有没有什么好办法了? 至于使用GET方法中,servlet里面无法读取send()传送过来的内容,我试了几次,确实如此。而且看MSDN上的例子send XML都是用post的,是不是使用GET方法,就真的没法send 呢? 请DX赐教啦~~:) |
|
返回顶楼 | |
发表时间:2004-04-23
其实设置时间截是一个方法吧.
你有没有试过有网页上加上必须更新的标记呢?? 代码: response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"; response.setDateHeader("Expires", 0); 或者把浏览器设置每次访问都更新. 关于get方式是不能send,你可以看一下msdn里面是怎么讲的(我不清楚),不过一般都是用post来做,因为get还有一个字符长度问题(我以前一个同事就遇到这个问题). |
|
返回顶楼 | |
发表时间:2004-04-23
谢谢xiaoyu ^_^
我确实一直都没往设response header方面想 可能因为servlet传回给xmlhttp的是XML,就完全没想到可以设一个response header吧:) 谢谢xiaoyu的教导了,呵呵 顺便说一句, 或者把浏览器设置每次访问都更新. 这个极端了一点哦,嘻嘻~~ 至于send的问题。MSDN也没有详细讲它对于GET 和 POST两种方法的不同,不过MSDN的例子里面确实没有用GET 而且send()中又带有数据的例子的。我也就暂且认为使用 GET 方法不能用send()来传数据吧~~ 不对之处,大家多多批评了,呵呵~~ anyway 谢谢 xiaoyu DX了:) |
|
返回顶楼 | |
发表时间:2004-05-11
这个case好像结束了,但是我想说两句.如果是很多数据要发送到server端,可不可以在页面中定义一个xml数据岛,里面定义好要发送到server端的参数,在发送的时候给参数赋值,然后把整个xml送到server端?希望大家指正
|
|
返回顶楼 | |