0

从 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>'));

但我根本无法让它发挥作用。请帮忙。

4

1 回答 1

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("");
            }
        }
    });
于 2012-12-07T16:10:04.220 回答