2013-08-16 2 views
1

Я пытаюсь выполнить вызов AJAX из javascript в файл PHP, который обновит базу данных, а затем вернется к исходным данным XML-скрипта java-скрипта. Я думаю, что отключение, которое у меня есть, - это корректное получение php для чтения как XML в функции. Посмотрите код, который у меня есть. --- EDIT --- Простой код, чтобы найти суть проблемы.JavaScript AJAX вызывает PHP, который возвращает XML

--ANSWERED-- Файл PHP должен иметь заголовок, заданный как XML.

header ("Content-Type:text/xml"); 

Java Script:

function AddNewUser(){ 
document.getElementById("overlay").innerHTML="<span>Started...</span>"; 
aj_test=new XMLHttpRequest(); 
aj_test.open("POST","test.php",true); 
aj_test.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
alert("pre"); 
aj_test.onreadystatechange=function() 
{ 
    if (aj_test.readyState==4 && aj_test.status==200) 
    { 
     XMLReturn=aj_test.responseXML; 
     alert(XMLReturn.getElementsByTagName("title")[0].childNodes[0].nodeValue); 
    } 

} 
aj_test.send(""); 

}

PHP:

$doc = new DOMDocument('1.0'); 
$doc->formatOutput = true; 
$root = $doc->createElement('book'); 
$root = $doc->appendChild($root); 
$title = $doc->createElement('title'); 
$title = $root->appendChild($title); 
$text = $doc->createTextNode('This is the title'); 
$text = $title->appendChild($text); 
echo $doc->saveXML(); 
+0

Вам необходимо избежать ваших параметров URL. – SLaks

+0

Похоже, что у вас есть все необходимые ингредиенты, поэтому я подозреваю, что вы правы, и проблема связана с тем, как вы передаете XML обратно клиенту javascript. Как вы эхо или испускаете $ XMLData и какие данные фактически получает клиент javascript? –

+1

Обновленный код с простой статической строкой для тестирования. если вы используете responseText; то я получаю всю информацию как правильно сформированную, как XML, но мне нужно, чтобы она передавалась как XML, поэтому я могу найти конкретные данные. – Schugs

ответ

1

--ANSWERED-- РНР Файл должен иметь заголовок установлен как XML.

header ("Content-Type:text/xml"); 
Смежные вопросы