1

我试图从 Ajax jQuery 请求返回的 XML 中获取文本,但由于某种原因我无法理解它。

这是我的 HTML:

<script type="text/javascript">
function sendData()
{

    var fn = document.getElementById("first_name").value;
    var ln = document.getElementById("last_name").value;

    $.ajax({
    type: 'GET',
    url: 'scripts/contact.php',
    data: { first_name: fn, last_name: ln },
    success: function(returned){

            $(returned).find('data').each(function(){

            var $data = $(this);
            var first_name = $data.attr("first_name");

            alert("it worked: " + first_name);

            });

        }
    });
}
</script>

这是我的 PHP 页面,它进行处理(简化,只是试图让基础工作):

<?php

echo "
<?xml version='1.0' encoding='utf-8' ?>
<data>
<first_name>First</first_name>
<last_name>Last</last_name>
</data>

";

?>

感谢帮助。这让我发疯。

现在可以用了,谢谢。它在这里工作:

<script type="text/javascript">
function sendData()
{

    var fn = document.getElementById("first_name").value;
    var ln = document.getElementById("last_name").value;

    $.ajax({
    type: 'GET',
    url: 'scripts/contact.php',
    data: { first_name: fn, last_name: ln },
    success: success
    });
}

function success(success)
{
    var xml = $.parseXML(success);
    $xml = $( xml );
    $test = $xml.find('first_name');
    alert($test.text());

    $last_name = $xml.find('last_name');
    alert($last_name.text());
}
</script>
4

1 回答 1

0

试试这个

$(returned).find('data').each(function(){
    var $data = $(this);
    var first_name = $data.find("first_name").text();

    alert("it worked: " + first_name);
});
于 2013-07-12T19:20:38.400 回答