【问题标题】:How to get individual text elements from a XML request in jQuery Ajax request如何从 jQuery Ajax 请求中的 XML 请求中获取单个文本元素
【发布时间】:2013-07-12 19:07:14
【问题描述】:

我正在尝试从 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>

【问题讨论】:

  • 你试过用$.parseXML解析returned吗?
  • 尝试在 ajax 调用中添加 dataType : "xml"
  • 我尝试了 $.parseXML,现在似乎可以正常工作了。谢谢。

标签: jquery xml forms response


【解决方案1】:

试试这个

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

    alert("it worked: " + first_name);
});

【讨论】:

    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 2012-03-05
    • 2012-04-22
    • 2018-04-27
    • 2020-03-15
    • 2021-11-28
    • 1970-01-01
    相关资源
    最近更新 更多