1

进行 ajax 调用以从服务器返回一些数据。数据返回如下:

<table border=1>
    <tr>
        <td>Field Name</td>
        <td>Field Value</td>
    </tr>
    <tr>
        <td>SuccessFlag</td>
        <td>True</td>
    </tr>
    <tr>
        <td>ResponseMessage</td>
        <td><?xml version="1.0" encoding="utf-16"?>
            <License>
                <CustomerID>Bob</CustomerID>
                <License>XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX</License>
                <Log>Created by lt@email.com on December 6, 2012, 1:09 pm Cancelled by b@email.com on December 6, 2012, 1:09 pm</Log>
                <ExpirationDate>2012-12-06</ExpirationDate>
            </License>
        </td>
    </tr>
</table>

我能够像这样输出数据:

//ajax call stuff
success: function(data) {
    var answer = $(data).find("td:eq(3)").text();
    var message = $(data).find("td:eq(5)").text();
if (answer==="True") {
        $('input[type="text"], input[type="password"]').val("");
        $('#resultGenerate').show().html('<ul><li>' + message + '</li></ul>');
    } else {
        $('.processing').hide();
        $('input[type="text"], input[type="password"]').val("");
        $('#resultGenerate').show().html('<ul><li>' + answer + '</li><li>' + message +    
        '</ul>');
    }
}

基本上我只是去表格的第 5 个 td 并输出消息。我需要重新格式化为表格或更结构良好的输出。我假设我会创建一个函数来解析每个标签和值对,然后运行该函数?需要一些帮助,一如既往地感谢您!

4

1 回答 1

1

一旦你有了你的文本,只需调用 parseXML 让 jQuery 把它变成一个你可以使用的对象:

var answer = $(data).find("td:eq(3)").text();
var message = $(data).find("td:eq(5)").html();
var xmlDoc = $.parseXML( message );
var $xml = $( xmlDoc );
// Now loop through the markup
$xml.each(function(){
    // Do something with the license
    alert($(this).text());
});
于 2012-12-06T21:19:13.110 回答