新手在这里。我有 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;
?>
你可以像这样直接返回 xml...
header('Content-type: text/xml; charset=utf-8');
echo $file;
如果你想用php解析xml,请查看SimpleXML
您可以使用
simplexml_load_string()
函数从字符串加载 XML:
$file = file_get_contents($_GET['requrl']);
$xml = simplexml_load_string($string);
或者直接将 XML 文件加载到字符串中,如下所示:
$xml = simplexml_load_file($_GET['requrl']);