0

以下のコードでは、書籍の詳細フォーム A の URL を読み込もうとしていますが、出力が表示されません。出力画面で ajax ボタンをクリックすると、$(data).find("Book").each(function(){});

私のコードhtml:

<html>
<head>
<script src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.js" type="text/javascript" charset="utf-8"></script>
<script src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function bodyload() {
    alert("We are calling jquery's ajax function and on success callback xml parsing are done");
    $.ajax({
        url: 'http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml',
        dataType: 'application/xml',
        timeout: 10000,
        type: 'GET',
        success: function(data) {
            alert("inside success function");
            $("#bookInFo").html("");
            $("#bookInFo").append("<hr>"); * * // my code work until here after that i will not receive any book details in my web page.**
            $(data).find("Book").each(function() {
                $("#bookInFo").append("<br> Name: " + $(this).find("name").text());
                $("#bookInFo").append("<br> Address: " + $(this).find("address").text());
                $("#bookInFo").append("<br> Country: " + $(this).find("country").text());
                $("#bookInFo").append("<br><hr>");
            });
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert("Error status :" + textStatus);
            alert("Error type :" + errorThrown);
            alert("Error message :" + XMLHttpRequest.responseXML);
            $("#bookInFo").append(XMLHttpRequest.responseXML);
        }
    });
}​
</script>
</head>
<body>
<center><button onclick="bodyload()">Ajax call</button></center>
<p id="bookInFo"></p>
</body>
</html>

出力が得られない理由を教えてください。

iOSシミュレーターでコードを実行しているときに、このアラートメッセージのみが表示されます

クロムでファイルを実行すると、この出力が得られますが、Web サービスの出力は返されません

4

1 に答える 1

0

success 関数のデータ パラメータは、html\dom ではなく、xml から解析された js オブジェクトだと思います。$() を適用することはできません。試す

for(var i = 0; i < data.length; i++) {var name = data[i].name; etc...}

また

for(var prop in data){var name = data[prop].name; etc...}
于 2012-09-28T14:01:28.017 に答える