【问题标题】:Output PHP response as XML将 PHP 响应输出为 XML
【发布时间】:2013-09-11 22:09:20
【问题描述】:

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

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

proxy.php:

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

【问题讨论】:

  • {requrl: request + '&amp;reportType=' + report} 应该是{requrl: request, reportType: report}
  • 尝试添加dataTypeurl: 'proxy.php', dataType:'xml'
  • 只要您不提供示例 URL 和一些示例数据,这就太宽泛了,无法回答。

标签: php javascript jquery xml ajax


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    或者直接将XML文件加载到字符串中,像这样:

    $xml = simplexml_load_file($_GET['requrl']);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-12
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多