我正在使用jquery向一个响应XML的Web服务发出AJAX请求:
$.ajax({
type: "GET",
url: $uri,
dataType: "xml",
async: false,
contentType: "text/xml; charset=\"utf-8\"",
complete: function(xmlResponse) {
$("#preForXMLResponse").html(xmlResponse);
}
});
我想在PRE标记内的HTML页面中显示来自Web服务的XML响应。但上面的代码不起作用。如何将XML响应更改为字符串并将其显示在PRE标记内?
答案 0 :(得分:3)
试试这个
$.ajax({
type: "GET",
url: $uri,
dataType: "xml",
async: false,
contentType: "text/xml; charset=\"utf-8\"",
success: function(xmlResponse) {
$("#preForXMLResponse").html('<pre>'+xmlResponse+'</pre>');
}
});
答案 1 :(得分:3)
试试这个:
$(function(){
$.ajax({
type: "GET",
url: $uri,
dataType: "xml",
async: false,
contentType: "text/xml; charset=\"utf-8\"",
complete: function(xmlResponse) {
// So you can see what was wrong...
console.log(xmlResponse);
console.log(xmlResponse.responseText);
$("#preForXMLResponse").text(xmlResponse.responseText);
}
});
});
答案 2 :(得分:0)
您可以通过HTML编码功能传递数据,例如:http://www.strictly-software.com/htmlencode
$("#preForXMLResponse").html(HTMLEncode(xmlResponse.xml));
请注意HTMLEncode
是一个伪函数,只是为了澄清我的答案,必须更改为一个函数名,就像上面的链接一样,除了它的实现。
答案 3 :(得分:0)
$.ajax({
type: "GET",
url: "/static/css/xml/xmlname.xml",
dataType: "xml",
success: function(xml){
//now you can use of your response like
$("your tagName",$(this)).each(function(){
alert($(this).attr('class'))
})
}
})
注意:XML响应只能在成功函数中访问