我正在使用json与json.我的客户端页面生成json,我存储在我的服务器上.然后,客户端可以稍后将json取回,解析并显示它.
由于我的客户正在生成json,它可能不安全.我认为jquery在内部使用eval().真的吗?有没有办法在可用的浏览器中使用本机json解析器,否则回退到手动解析?我是jquery的新手,所以我不知道在哪里插入自己的解析代码.我做的事情如下:
$.ajax({
url: 'myservlet',
type: 'GET',
dataType: 'json',
timeout: 1000,
error: function(){
alert('Error loading JSON');
},
success: function(json){
alert("It worked!: " + json.name + ", " + json.grade);
}
});
Run Code Online (Sandbox Code Playgroud)
所以在success()方法中,json对象已经为我解析了.有没有办法先将它作为原始字符串捕获?然后我可以决定是使用本机解析器还是手动解析(希望有一个jquery插件).
我正在阅读的文章都来自不同的年份,所以我不知道jquery是否已经为json放弃了eval(),
谢谢
最新版本有jQuery.parseJSON.它将在拥有它的浏览器中使用本机JSON.对于较旧的,它将进行正则表达式健全性检查,然后使用新的Function()(基本上是eval).
由于您将'json'指定为dataType,因此它将在此处使用parseJSON.这是在内部httpData函数中处理的
| 归档时间: |
|
| 查看次数: |
3646 次 |
| 最近记录: |