我的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"不写任何东西