ユーザーがキャンバスに図形を描画し、それらをデータベースに保存して取得するアプリケーションを作成しています。保存部分は正常に機能しますが、このXMLコンテンツを読み込もうとすると、問題が発生し始めます。
まず、ユーザーが作成したドキュメントのリストを持っています。クリックすると、そのドキュメントがアプリケーションに読み込まれ、これが実行されます。次のコードを使用します。最初に、ドキュメントのIDを取得するjavascript関数を使用して、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>
最初の2つの項目を取得すると、問題はありません。XMLデータがプリンターになるとすぐに、それらは実際の問題になります。loadDiagram()
XMLができる理由がわかりalert
()
ませんが、アプリケーションページができません。データが何らかの理由で破損していますか?
フィードバックをありがとうございます。