我正在创建一个应用程序,用户在画布上绘制形状,然后从数据库中保存和检索它们。保存部分工作正常,但是,我试图加载这个XML内容,这就是故障的起点。
首先,用户有一个他们创建的文档列表,当点击它将该文档加载到应用程序中执行此操作时,我使用以下代码,首先是一个javascript函数,它获取文档的ID,然后将其发送到一个PHP脚本,用于从数据库中检索该文档数据。将脚本文档数据加载到$_SESSION['data']
变量中的PHP脚本。完成后,它将返回到javascript函数,该函数将用户重定向到应用程序页面。
function loadDocument(docID){
$.ajax({
url: "load_a_document.php",
type: "POST",
data: {
documentID: docID,
},
success: function(data)
{
alert(data); //THIS DISPLAYS THE XML WITH NO PROBLEMS???
window.location = "application.php";
}
});
};
PHP查询数据库并检索文档的名称和XML内容,然后执行以下操作:
$_SESSION['document_Name'] = $doc_NAME;
$_SESSION['document_XML'] = $doc_DATA;
echo($_SESSION['document_XML']); //this is 'data' on the ajax success call
现在当PHP完成时,它回应了php上下文,这显示在AJAX成功的警告框中:{}没有任何问题。现在它将用户带到实际的应用程序,它开始如下:
<?php
session_start();
$document_Name = $_SESSION['document_Name'];
$document_Data = $_SESSION['document_XML'];
?>
<script>
alert(" <?php echo $document_Name; ?> "); //WORKS FINE
alert(" <?php echo $_SESSION['document_Name']; ?> ") //WORKS FINE
//alert(" <?php echo $document_Data; ?> "); //STOPS THE PAGE LOADING
//alert(" <?php echo $_SESSION['document_XML']; ?> ") //STOPS THE PAGE LOADING
</script>
获取前两项,没有问题,只要XML数据是打印机,那么它们就是一个真正的问题。我不明白为什么loadDiagram()
可以alert
()
XML,但我的应用程序页面不能。数据是否已被破坏?
感谢您的反馈。
答案 0 :(得分:2)
您可能在字符串中引用了导致问题的引号。尝试
alert(<?php echo json_encode($document_Data) ?>);