Ajax编程中所使用的Javascript对象是什么?怎么去创建它?如何取服务 器响应给客户端的XML对象信息

2024-12-03 17:19:59
推荐回答(2个)
回答1:

//获取XMLHttpRequest (对于不同的浏览器进行不同的处理)
function createXMLHttpRequest() {
var xmlHttp = null;
if (window.ActiveXObject){
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}

//测试方法
function test(){
var xmlHttpRequest = createXMLHttpRequest();
//开启一个ajax请求
var ajaxURL = "<%=path%>/servlet/...?"+"date="+new Date()+"";
//window.alert(ajaxURL);
xmlHttpRequest.open("GET",ajaxURL,true);

xmlHttpRequest.onreadystatechange = function(){
if (xmlHttpRequest.readyState == 4){
//对返回结果进行处理
var result = xmlHttpRequest.responseXML; //当返回xml时,需设置为"responseXML",文本时:responseText }

//这边举个我用过的例子,处理xml的
var code = result.getElementsByTagName("code")[0].firstChild.nodeValue;
var message = result.getElementsByTagName("message")[0].firstChild.nodeValue;
}
}

xmlHttpRequest.send();
//下面是post提交字符串
//xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//xmlHttpRequest.send(postStr);
}

注意在servlet那边:::》response.setContentType("text/xml"); //当要返回一个xml时要设置成“text/xml”;html或文本时:设置成“text/html”

希望对你有帮助!

回答2:

可以把js对象转换成相应的对象,比如服务器端需要xml格式的就转换成xml格式,然后通过ajax传给服务器。如果服务器需要json数据,那么把js对象转换成json对象,网上有好多方法的。然后把数据传给服务器端就好了。