将ajax请求作为GET发送到PHP,但将响应解析为XML

时间:2011-09-07 18:29:22

标签: php jquery ajax

我在jquery中使用$ .ajax方法在PHP文件上实现ajax调用。我想向PHP文件提交2个参数,这些参数将以XML格式返回响应。这就是我想要做的事情:

$.ajax({
 type: "GET",
 url: 'server.php',
 dataType: 'xml',
 data: {
  'param1' : '2',
  'param2': '3'
 },
 success: function(data) {
  alert('success');
  // do something with xml returned...
 },
 error: function(xhr, ajaxOptions, thrownError){
  alert(xhr.status);
  alert(xhr.responseText);
 }
 });

在PHP文件中,我只是为了调试而做了这个:

echo '<?xml version="1.0"?>
<a>vala</a>
<b>valb</b>';
die;

这会返回一个错误,我收到两个警报,一个显示“200”,另一个显示上面显示的XML。我做错了什么?

感谢。

3 个答案:

答案 0 :(得分:2)

您的xml输出无效,而不是

echo '<?xml version="1.0"?>
 <a>vala</a>
 <b>valb</b>';
 die;


echo '<?xml version="1.0"?>
<root>
<a>vala</a>
<b>valb</b> 
</root>';
die;

答案 1 :(得分:1)

200表示一切正常。

尝试将header('Content-type: text/xml');添加到server.php。

的顶部

答案 2 :(得分:0)

尝试将die;更改为exit();

编辑:我的坏,这是不对的