从ajax POST表单返回数据是一个表。表在一个单元格中有xml,我可以到达必要的单元格并在页面上显示为直接xml,所有标签都存在或只显示文本。我需要以某种方式格式化xml,目前我唯一的影响是它的直接xml并用css设置样式 - 这是不可取的。
success: function(data) {
var answer = $(data).find("td:eq(3)").text();
var message = $(data).find("td:eq(5)").html();
var xmlDoc = $.parseXML( message );
var $xml = $( xmlDoc );
if (answer==="True") {
$xml.each(function() {
$('#resultGenerate').show().append($(this).html());
});
} else {
$('.processing').hide();
$('input[type="text"], input[type="password"]').val("");
$('#resultGenerate').show().html('<ul><li>' + answer + '</li><li>' + message +
'</ul>');
}
}
以上只是将其作为文本返回,如何解析xml以获取标记并将其附加到表中?我整天都在这,我真的需要一些帮助。我知道我需要为每个xml标签设置一个var,例如
var xmltagfoo = $(this).find('xmltagfoo').text();
然后像这样追加
$('#resultGenerate').append($('<td>' + xmltagfoo + '</td>'));
但我根本无法让这个工作。请帮忙。
答案 0 :(得分:0)
最后让它工作,使用GET请求很容易,但是当从POST返回数据时,它有点棘手。这就是我做的方式
$.ajax({
type: $(form).attr('method'),
url: form.action,
data: dataString,
clearForm: true,
success: function(data) {
var answer = $(data).find("td:eq(3)").text();
var message = $(data).find("td:eq(5)").html();
var $xml = $( message );
if (answer==="True") {
$xml.find('license').each(function(){
var XXXCustomerID = $(this).find(XXXCustomerID').text();
var XXLicense = $(this).find('XXLicense').text();
var Log = $(this).find('Log').text();
var ExpirationDate = $(this).find('ExpirationDate').text();
$("#resultGenerate").show().append($('<li><span class="ID">' + XXXCustomerID + '</span><span class="NTL">' + XXLicense + '</span><span class="Log">' + Log + '</span><span class="Exp">' + ExpirationDate + '</span></li>'));
});
} else {
$('.processing').hide();
$('input[type="text"], input[type="password"]').val("");
}
}
});