2013-09-30 3 views
0

Iam новой для PhoneGap, Iam не в состоянии получить ответ при разборе XML Url.what я попробовал это,в PhoneGap

function initLoginPage() {  
    var xmlhttp = new XMLHttpRequest(); 
    var urlString = "url/app/api.php?fn=employees"; 
    xmlhttp.onreadystatechange = processData; 
    xmlhttp.open("GET", urlString, true); 
    xmlhttp.send(); 
} 

function processData() {  
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
      document.getElementById("result").innerHTML=xmlhttp.responseText;      
       } else{document.getElementById().innerHTML = "<b>Please Wait..</b>";} 
} 

я назвал функцию initLoginPage, когда устройство Ready.I должны показать ответ в listView. IAM с помощью JQuery Mobile.The Ответ ВГД является

<?xml version="1.0" encoding="UTF-8" ?> 
<details> 
<responsecode>200</responsecode> 
<Employee> 
<name>name</name> 
<Fathername>fathename</Fathername> 
<Address>address</Address> 
<Number>12342456</Number> 
<Enumber>4324421341234</Enumber> 
<OfficeMail>[email protected]</OfficeMail> 
<PersonalMail>[email protected]</PersonalMail> 
<EmployeeID>1</EmployeeID> 
<DOB>21-06-1991</DOB> 
<DOJ>05-03-2013</DOJ> 
<PanNumber>123456</PanNumber> 
<image>./images/1380372683.png</image> 
</Employee> 
</details> 

ответ

0

Yo есть ли перепутать

var urlString = url+"/app/api.php?fn=employees"; 
+2

на самом деле его полный URL, я не упомянул адрес домена – geeko

0

Переменная XMLHTTP определяется только в области видимости функции initLoginPage, поэтому он не определен в ProcessData ,

Существует два способа решения вашей проблемы. Вы можете использовать это вместо XMLHTTP в ProcessData:

function initLoginPage() {  
    var xmlhttp = new XMLHttpRequest(); 
    var urlString = "url/app/api.php?fn=employees"; 
    xmlhttp.onreadystatechange = processData; 
    xmlhttp.open("GET", urlString, true); 
    xmlhttp.send(); 
} 

function processData() {  
    if (this.readyState == 4 && this.status == 200) { 
     document.getElementById("result").innerHTML = this.responseText;      
    } 
    else { 
     document.getElementById().innerHTML = "<b>Please Wait..</b>";} 
    } 
} 

Или пройти ProcessData как анонимные функции непосредственно xmlHttp.onreadystatechange:

function initLoginPage() {  
    var xmlhttp = new XMLHttpRequest(); 
    var urlString = "url/app/api.php?fn=employees"; 
    xmlhttp.onreadystatechange = function() {  
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("result").innerHTML = xmlhttp.responseText;      
     } 
     else { 
      document.getElementById().innerHTML = "<b>Please Wait..</b>";} 
     } 
    } 
    xmlhttp.open("GET", urlString, true); 
    xmlhttp.send(); 
}