1

新手来了 我有 AJAX 请求 XML 数据。由于它是跨域的,因此它通过 PHP 代理。问题是代理以字符串的形式返回 XML。这使得在 Javascript 中解析变得困难。我怎样才能 1) 让 PHP 以 XML 对象的形式返回数据,或者 2) 在返回字符串后将其转换为 XML?

$.ajax({
url: 'proxy.php',
data: {requrl: request + '&reportType=' + report}
    })
   .done(function(response) {
   ...
   }

代理.php:

<?php
$file = file_get_contents($_GET['requrl']);
echo $file;
?>
4

2 回答 2

1

您可以像这样直接返回xml...

header('Content-type: text/xml; charset=utf-8');
echo $file;

如果您想用 php 解析 xml,请查看SimpleXML

于 2013-09-08T06:12:26.667 回答
0

simplexml_load_string()您可以使用以下函数从字符串加载 XML :

$file = file_get_contents($_GET['requrl']);
$xml = simplexml_load_string($string);

或者直接将 XML 文件加载到字符串中,如下所示:

$xml = simplexml_load_file($_GET['requrl']);
于 2013-09-08T06:10:59.907 回答