【发布时间】: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,现在似乎可以正常工作了。谢谢。