0

jqueryがXML応答を解析するのを妨げている原因を理解しようとしています。

私のコードは次のようになります:

$.ajax({
    url: "ajax_gateway.php?request=agentdetails&agentid=6352",
    dataType: "xml",
    success: function(xml) {
        console.log(xml);
        alert($('agentname', xml).val());
        //$('input[name="agent_name"]').val($('agentname', xml).val());
    }   
});

意図したXMLがChromeコンソールに記録されているのを確認できます。ヘッダーを確認すると、AJAX応答が「Content-Type:text/xml」で送信されます。残念ながら、アラートは空です。実行しようとすると、次のようになります。

$(xml).("agentname").val()

Chrome JSコンソールに「UncaughtSyntaxError:Unexpected token(」というエラーメッセージが表示されます。何かが足りませんか?「ajax_gateway」に他の関数がいくつかあり、すべて正常に動作しています...

編集:私のXML応答:

<?xml version = "1.0"?> <response><employee><agentname>私の名前</agentname><agentteam>私のチーム</agentteam><agentphoneid> 6352 </ agentphoneid> </ employee> </ response>

papaiatisが私の質問に答えている間、誰かが理由を説明するのをわざわざしますか?

$(xml).("agentname").text();

有効ですか?

4

1 に答える 1

2

代わりにtext()を使用してみてください。

alert($('agentname', xml).text());

val() はフォーム要素で使用されます。

于 2012-05-30T08:17:18.273 に答える