请帮我解决这个问题。
function createRequestObject(){
var req;
if(window.XMLHttpRequest){
//For Firefox, Safari, Opera
req = new XMLHttpRequest();
}
else if(window.ActiveXObject){
//For IE 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
}
else{
//Error for an old browser
}
return req;
}
var http = createRequestObject();
function empajax(method,nameId)
{
url='college/cat/employee.jsp'+"?nameId="+nameId;
if(method == 'POST'){
http.open(method,url,true);
http.onreadystatechange = handleResponse;
http.send(null);
}
}
function handleResponse(){
if(http.readyState == 4 && http.status == 200){
var response = http.responseText;
if(response){
$("#empname").html(response);
$("#empnumber").html(response);
}
}
}
在上面的ajax函数中,employee.jsp正在低于div的值下面。如何在habdleResponse()函数中分隔div响应来设置相应div中的值,如(empname,empnumber)
<div>
<b>ram</b>
</div>
<div>
<b>1234</b>
</div>
我只想在empname div中设置员工姓名和员工编号。
提前致谢!
答案 0 :(得分:0)
您需要遍历XML dom:
function handleResponse(){
if(http.readyState == 4 && http.status == 200){
var xmlResponse = xmlHttp.responseXML;
root = xmlResponse.documentElement;
names = root.getElementsByTagName("empname");
numbs = root.getElementsByTagName("empnum");
for (var i = 0 ; i < numbs.length; i++) {
throw(names[i].firstChild.data, numbs[i].firstChild.data);
}
然后只需将变量传递给将它们放入文档中的函数:
function throw(name , number) {
var divider = document.createElement('div') ;
divider.innerHTML = "<div class='name'>" + name + " </div> <div class='numb'>" + number +"</div>"
document.appendChild(divider);
}
然后你会拥有它。每个条目都有一个单独的div。