2013-03-21 8 views
0

responseText에서 XML 문서를 만들 수있는 올바른 방법을 찾고 있습니다. 여기서 우리는 어떻게 "eval"을 사용할 것인가. XML에 eval이 발생하면 SyntaxError가 발생합니다.eval on ResponseText가 SyntaxError와 함께 실패합니다.

eval("<p>This is test</p>"); --> Will fail 

sometimes responseText = "<DATA><static-route><route>0.0.0.0/0</route<nexthop>10.204.247.254</nexthop></static-route></DATA>" 
or 
responseText = "testing" 

parseData(resonseText) 

/*create XML Document from the data response */ 
function parseData (dataSources) { 
    try { 
     var values = dataSources; 

     if (window.ActiveXObject) 
      IE = true; 
     else if(document.implementation && document.implementation.createDocument) 
      IE = false; 

       if (IE) 
       { 
       var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
       xmlDoc.async = "false"; 
       xmlDoc.loadXML(values); 
       //Do more things 
       } 
       else 
       { 
        **//values = eval('('+values+')');** //Throws SyntaxError 
        var rpcParser = new DOMParser(); 
        rpcDocument=rpcParser.parseFromString(values,"text/xml"); 
        //Do more things 
       } 
     } 
     catch (e) { 
      //Reaches here if use eval function. 
     } 

}};

덕분에, 비니

+3

그리고 무엇이 당신이'eval()'해야한다고 생각합니까? – PeeHaa

+0

'eval' ** ** **는 자바 스크립트를 평가합니다. '

이것은 시험이다

'는 (는) 자바 스크립트가 아닙니다. –

+0

정확히 언제 eval을 사용해야합니까? 서버 응답이 자바 스크립트 형식이라면? – Vinni

답변

0

평가에만 유효 자바 스크립트를 받아 들일 것입니다. <p>This is test</p> 유효하지 않음 JS

+1

'eval'은 JSON을 받아들입니다. 예 : 'eval (JSON_STRING)'은 에러를 던질 것입니다. * "유효한 자바 스크립트 허용"*;) –

+0

고마워요. JSON 문자열에 오류가 발생했습니다 – Anoop

+0

eval은 Javascript 리터럴에서만 작동한다는 것을 알고 있습니다. 감사. 또한 어떤 서버 응답 eval을 사용해야합니까? – Vinni