responseText的eval失败,返回SyntaxError

eval on responseText fails with SyntaxError

本文关键字:返回 SyntaxError 失败 eval responseText      更新时间:2023-09-26

我正试图找到一种从responseText创建XML文档的正确方法。我们将如何在这里使用"eval"。XML上的eval引发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.
        }

};

谢谢,Vinni

Eval将只接受有效的JavaScript。<p>This is test</p>无效JS