如何将PHP脚本中的DOMDocument对象中的数据传递到JavaScript文件


How to pass data in DOMDocument object inside PHP script to JavaScript file?

我的PHP脚本使用DOMDocument->load->save方法成功创建并保存了一个文件到本地硬盘。

<?php
$dom = new DOMDocument();
$dom->load($data);
$dom->save($filename);
return $dom; // am I passing data to JavaScript here wrongly?
?>

这个PHP脚本被jQuery$.ajax从另一个文件调用:

$.ajax({
 url: 'script.php',
 type: 'GET',
 data: parameters,
 success: function(resp) {
  //var data = new Blob([resp], {type: 'text/xml});
  //textFile = window.URL.createObjectURL(data);
  //return textFile;
  console.log(resp);
}
});//ajax

我在控制台没有看到任何东西。如何通过DOMDocument数据从PHP脚本到JavaScript的AJAX调用?

我也尝试使用file_get_contents()并返回它的结果,但同样的问题。

我认为你需要回显结果,而不是返回它。

<?php
$dom = new DOMDocument();
$dom->load($data);
$dom->save($filename);
echo $dom->saveXML();
?>

你的脚本有两个错误。

首先,你必须转

$dom->save($filename);

$dom->saveHTML($filename);

如文档中所述,save()方法返回一个整数,而saveHTML()返回生成的内容。


然后,你必须转

return $dom;

echo $dom;

事实上,如果你想让Javascript获得内容,你必须把它写在输出中(通过echo函数),而不是返回它;"return"不写任何东西