2012-05-08 3 views
0

사용자가 캔버스에 도형을 그린 다음 데이터베이스에서 저장하고 검색하는 응용 프로그램을 만들고 있습니다. 저장 부분은 잘 작동하지만 지금은이 XML 컨텐트를로드하려고합니다. 문제가 시작되는 곳입니다.PHP는 XML 문자열로 멋지게 재생되지 않습니다?

먼저 사용자가 만든 문서 목록을 클릭하면 해당 문서를 응용 프로그램에로드 할 때이 코드가 사용됩니다. 다음 코드를 사용합니다. 먼저 문서의 ID를 사용하는 자바 스크립트 함수를 사용합니다. 데이터베이스에서 문서 데이터를 검색하는 PHP 스크립트. $_SESSION['data'] 변수에 데이터를 기록하는 PHP 스크립트가로드됩니다. 일단 끝나면 사용자를 응용 프로그램 페이지로 리디렉션하는 javascript 함수로 돌아갑니다. PHP는 그것이 PHP는 컨텍스트를 에코 완료 이제

$_SESSION['document_Name'] = $doc_NAME; 
$_SESSION['document_XML'] = $doc_DATA; 

echo($_SESSION['document_XML']); //this is 'data' on the ajax success call 

는,이 나타납니다 :

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 컨텐츠를 꺼냅니다, 그 다음이 수행 성공에있는 경고 상자에 : 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하지만 내 응용 프로그램 페이지 수 없습니다. 어떻게 든 데이터가 손상 되었습니까?

의견을 보내 주셔서 감사합니다.

답변

2

아마도 문제의 원인이되는 문자열에 따옴표가있을 것입니다. 시도해보십시오.

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

+1 생성 된 자바 스크립트 소스 코드 *가 유효한지 항상 확인하십시오. – deceze

관련 문제