PHP 似乎不能很好地处理 XML 字符串?

标签 php javascript xml

我正在创建一个应用程序,用户在 Canvas 上绘制形状,然后保存并从数据库中检索它们。保存部分工作正常,但现在我正在尝试加载此 XML 内容,这就是麻烦开始的地方。

首先,用户有一个他们创建的文档列表,当单击时,它将将该文档加载到应用程序中来执行此操作,我使用以下代码,首先是一个 javascript 函数,该函数获取文档的 ID,然后将其发送到从数据库检索文档数据的 PHP 脚本。然后,PHP 脚本将文档数据加载到 $_SESSION['data'] 变量中。完成后,它将返回到将用户重定向到应用程序页面的 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 的 success:{} 的警报框中,没有任何问题。现在,它将用户带到实际的应用程序,其开头如下:

<?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() 可以警报 () XML,但我的应用程序页面不能。数据是否已被损坏?

感谢您的任何反馈。

最佳答案

您可能在导致问题的字符串中使用引号。尝试一下

alert(<?php echo json_encode($document_Data) ?>);

关于PHP 似乎不能很好地处理 XML 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10507793/

相关文章:

javascript xhr 加载 iframe 作为响应

android - 数字不出现在 ADT 编辑器的 XML 文件中

php - 如何在 sphinx 中动态设置权重/分数

php - 问题安装 prestashop 模块 : mymodule(class missing in/. ..)

javascript - 在js中写css属性背景,无法在firefox中工作

单击第一个项目以外的项目时,JavaScript 导航菜单不会关闭

php - 如何使用 PHP 从 XML 文件中获取特定子项并在 div 上显示其子项

java - Quercus 是 Java 环境中 PHP 的可行替代品吗?

java - 无法解析与前缀 'diffgr' 关联的命名空间。在 Castor 中

android - 如何在 android 中的 style.xml 文件中设置 CardView 属性