☆─────────────────────────────────────☆
snowspice (打死也不说) 于 (Thu Sep 1 20:39:50 2005) 提到:
☆─────────────────────────────────────☆
wangby (佳人红袖慢添香) 于 (Thu Sep 1 23:00:11 2005) 提到:
解析得到的responseXml
如果服务器返回的是一个well-formed的xml,那可以用dom模型或者xPath去做
【 在 snowspice (打死也不说) 的大作中提到: 】
☆─────────────────────────────────────☆
snowspice (打死也不说) 于 (Fri Sep 2 10:03:24 2005) 提到:
我的意思是说:比如我从servlet中得到了数据并把它写成xml格式的string,那我怎样把
这个xml对象发送到js上,js又是怎么获得这个对象??有没有这样的例子可以参看一下
呢?
【 在 snowspice (打死也不说) 的大作中提到: 】
☆─────────────────────────────────────☆
agnosticism (天气真好) 于 (Fri Sep 2 10:12:13 2005) 提到:
http://developer.apple.com/internet/webcontent/xmlhttpreq.html
【 在 snowspice (打死也不说) 的大作中提到: 】
: 我的意思是说:比如我从servlet中得到了数据并把它写成xml格式的string,那我怎样把
: 这个xml对象发送到js上,js又是怎么获得这个对象??有没有这样的例子可以参看一下
: 呢?
: ...................
☆─────────────────────────────────────☆
snowspice (打死也不说) 于 (Fri Sep 2 10:19:49 2005) 提到:
这个例子中依然是将xml文件放在和js文件相同的目录结构下,他的xml文件是事先生成的,不是我们产生的,怎样把我们产生的xml的string发送到js?我的问题是这个?
【 在 agnosticism (天气真好) 的大作中提到: 】
:
http://developer.apple.com/internet/webcontent/xmlhttpreq.html☆─────────────────────────────────────☆
agnosticism (天气真好) 于 (Fri Sep 2 13:56:39 2005) 提到:
不就是一个URL吗,你写个servlet输出xml然后把servlet映射到随便什么url上不就完了
【 在 snowspice (打死也不说) 的大作中提到: 】
: 这个例子中依然是将xml文件放在和js文件相同的目录结构下,他的xml文件是事先生成的,不是我们产生的,怎样把我们产生的xml的string发送到js?我的问题是这个?
☆─────────────────────────────────────☆
snowspice (打死也不说) 于 (Fri Sep 2 15:56:43 2005) 提到:
你说的方法我不太明白。我只是想做个小例子:代码如下:
//---------------------sendRequest_xml.jsp----------------
<script type="text/javascript" language="javascript">
var http_request = false;
function makeRequest()
{
http_request = false;
if (window.XMLHttpRequest)
{ // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) {
// IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}}
}
if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
http_request.open('post','/AjaxServlet?action=getXmlString',true);
http_request.onreadystatechange = alertXml;
//http_request.send('/AjaxServlet?action=getXmlString');
}
function alertXml() {
if (http_request.readyState == 4)
{
if (http_request.status == 200) {
alert(http_request.responseXML);
var xmldoc = http_request.responseXML;
var root_node = xmldoc.getElementsByTagName('test').item(0);
alert(root_node.firstChild.data);
//alert(http_request.responseText);
}
else {
alert('There was a problem with the request.');
}
}
}
</script>
<span style="cursor: pointer; text-decoration: underline"onclick="makeRequest
()">
send request! </span>
//------------------servlet method-----------
private void getXmlString(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException {
StringBuffer strBuf=new StringBuffer();
strBuf.append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
strBuf.append("<test>");
strBuf.append("it is a test");
strBuf.append("</test>");
strBuf.append("<name>");
strBuf.append("liuhong");
strBuf.append("</name>");
System.out.println("----------servlet is coming-----------");
response.sendRedirect("/sendRequest_xml.jsp");
}
//------------------my question-------------
在点击后,http_request.open('post','/AjaxServlet?action=getXmlString',true);
这个servlet 没有被调用。
我的困惑是不知道servlet中的方法怎样就把String 传给了js,然后js就能通过
var xmldoc = http_request.responseXML;获得响应信息。
【 在 agnosticism (天气真好) 的大作中提到: 】
: 不就是一个URL吗,你写个servlet输出xml然后把servlet映射到随便什么url上不就完
: 了
☆─────────────────────────────────────☆
agnosticism (天气真好) 于 (Fri Sep 2 17:10:34 2005) 提到:
打开javascript console看看报什么错
直接访问你输出xml的servlet看输出有没有问题
还有试用GET而不是post
这个东西简单的说就是用javascript跟服务器建立一个连接然后把数据读过来
【 在 snowspice (打死也不说) 的大作中提到: 】
: 你说的方法我不太明白。我只是想做个小例子:代码如下:
: //---------------------sendRequest_xml.jsp----------------
: <script type="text/javascript" language="javascript">
: ...................
☆─────────────────────────────────────☆
snowspice (打死也不说) 于 (Fri Sep 2 17:40:01 2005) 提到:
ie 中的js console没有抱错,直接访问servlet可以直接打印出内容,不管用get还是
post都没有结果。。。。。。。。sigh..郁闷了:)
【 在 agnosticism (天气真好) 的大作中提到: 】
: 打开javascript console看看报什么错
: 直接访问你输出xml的servlet看输出有没有问题
: 还有试用GET而不是post
: ...................
☆─────────────────────────────────────☆
snowspice (打死也不说) 于 (Fri Sep 2 17:41:54 2005) 提到:
在js里面的servlet始终没有被调用。。。
【 在 agnosticism (天气真好) 的大作中提到: 】
: 打开javascript console看看报什么错
: 直接访问你输出xml的servlet看输出有没有问题
: 还有试用GET而不是post
: ...................
☆─────────────────────────────────────☆
agnosticism (天气真好) 于 (Fri Sep 2 18:01:20 2005) 提到:
改成这样试试
http_request.onreadystatechange = ...
http_request.open("GET", ..., true);
http_request.send(null);
【 在 snowspice (打死也不说) 的大作中提到: 】
: 在js里面的servlet始终没有被调用。。。
☆─────────────────────────────────────☆
DavidZhu (听好更di个这) 于 (Sat Sep 3 10:05:10 2005) 提到:
我从一个ajax的baby intro上copy下来的:
<script language="javascript" type="text/javascript">
var url = "getCityState.asp?param="; // The server-side script
var http = getHTTPObject(); // We create the HTTP Object
function handleHttpResponse() {
if (http.readyState == 4) {
// Split the comma delimited response into an array
//results = http.responseText.split(",");
// Use the XML DOM to unpack the city and state data
var xmlDocument = http.responseXML;
var city = xmlDocument.getElementsByTagName('city').item(0).firstChild.data;
var state = xmlDocument.getElementsByTagName('state').item(0).firstChild.data;
document.getElementById('city').value = city;
document.getElementById('state').value = state;
}
}
function updateCityState() {
var zipValue = document.getElementById("zip").value;
http.open("GET", url + escape(zipValue), true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function getHTTPObject() {
//returns an XMLHttpRequest.
}
</script>
【 在 agnosticism (天气真好) 的大作中提到: 】
:
http://developer.apple.com/internet/webcontent/xmlhttpreq.html☆─────────────────────────────────────☆
venuszhou (venus) 于 (Tue Sep 6 12:42:12 2005) 提到:
re
【 在 DavidZhu (听好更di个这) 的大作中提到: 】
: 我从一个ajax的baby intro上copy下来的:
: <script language="javascript" type="text/javascript">
: var url = "getCityState.asp?param="; // The server-side script
: ...................
☆─────────────────────────────────────☆
I0O (百分百~~假上进白萝卜的乖乖萝卜妹) 于 (Sat Oct 22 20:18:51 2005) 提到:
这个有没有好一点的包装阿
支持IE6/Mozilla 1.7就可以了.
不用考虑其他兼容性.
【 在 agnosticism (天气真好) 的大作中提到: 】
: 打开javascript console看看报什么错
: 直接访问你输出xml的servlet看输出有没有问题
: 还有试用GET而不是post
: ...................