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 に答える