jquery中的javascript ajax响应

jquery中的javascript ajax响应,jquery,ajax,Jquery,Ajax,我使用jquery调用一个遗留系统,该系统返回以下响应: <script type="text/javascript"> var responseObj = { success: ('0'=='0'), cfgInfo: { deletedId: '' }, data: { id:"9470",devicePIFrom:"10.10.10.34",devicePIFromAlias:"10.10.10.34",

我使用jquery调用一个遗留系统,该系统返回以下响应:

<script type="text/javascript">
var responseObj = {
   success: ('0'=='0'),
   cfgInfo: {
        deletedId: ''
   },
   data: {
          id:"9470",devicePIFrom:"10.10.10.34",devicePIFromAlias:"10.10.10.34",
          deviceCommunityRW:"",deviceCommunityRO:"H1ghL!ght",devicePIUseProxy:"1",
          devicePITo:"10.10.10.10",devicePIToAlias:"Fake  local server",
          devicePISrcIP:"6.6.6.6",piStyle:"ICMPPing",SLAdelay:"100",
          devicePIToPort:"0",piWanted:"1",piAutoClasses:"",piNocDisabled:"",
          piCtrlPacketSize:'50',piTestInterval:'0',piProbeInterval:'',piProbeCount:'',
      piMOSCodec:'0',pimosSLA:'3.5',piSLAPacketLoss:'0.05',piSLAJitter:'20'
   },
   errors: [

   ]
}
</script>

鉴于我无法更改旧系统的响应格式,如何获得响应bj?

感谢您的帮助-最终ext js给了我答案:

使用 var响应=评估(“(“+数据+”)”); 要处理响应字符串,将生成javascript对象,然后我可以直接访问属性,如下所示:

$.ajax({
    type: "GET",
    url: requestString,
dataType: 'script',
    success: function(data){
   var response = eval("(" + data + ')');
       if(response.success) {
           ...do stuff.....
       }
    }
});

虽然晦涩难懂,但它确实有效

谢谢你的帮助-最后ext js给了我答案:

使用 var响应=评估(“(“+数据+”)”); 要处理响应字符串,将生成javascript对象,然后我可以直接访问属性,如下所示:

$.ajax({
    type: "GET",
    url: requestString,
dataType: 'script',
    success: function(data){
   var response = eval("(" + data + ')');
       if(response.success) {
           ...do stuff.....
       }
    }
});

虽然晦涩难懂,但它确实有效

看起来您必须编写自己的解析器,因为它看起来几乎像JSON,但是
成功:('0'='0')
不是有效的JSON ans,
cfgInfo:
,因为缺少“”(应该是这样的:
“cfgInfo”
。有关json的更多信息,请看这里有一个我找到的解析器:您也可以编写自己的解析器,或者只搜索开源解析器。您也可以使用ANTLR,但因此您必须知道如何编写EBNF语法。如果响应周围没有
,则此代码应该可以工作。jQuery将执行并
重新编译sponseObj
将成为全局的。看起来您必须编写自己的解析器,因为它看起来几乎像JSON,但是
成功:('0'='0')
不是有效的JSON ans,
cfgInfo:
也是如此,因为缺少了“”(应该是这样:
“cfgInfo”)
。有关json的更多信息,请看这里有一个我找到的解析器:您也可以编写自己的解析器,或者只搜索开源解析器。您也可以使用ANTLR,但因此您必须知道如何编写EBNF语法。如果响应周围没有
,则此代码应该可以工作。jQuery将执行并
重新编译sponseObj
将成为全球性的。