首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与jQuery中的eval( )等价但更惯用的是什么?

与jQuery中的eval( )等价但更惯用的是什么?
EN

Stack Overflow用户
提问于 2009-02-26 20:52:21
回答 5查看 20.5K关注 0票数 3

在jQuery中调用这个eval('('+responseText+')')的等价物是什么?我也知道eval并不那么安全,所以我在寻找jQuery中更安全、更地道的东西。

EN

回答 5

Stack Overflow用户

发布于 2009-02-26 21:00:11

你实际上是想执行Javascript代码(这在某种程度上总是不安全的),还是试图将JSON从一个字符串解析成一个对象?

如果是前者,eval()仍然是您最好的选择。

如果是后者,jQuery将作为AJAX请求的一部分进行do it for you,或者您可以使用专用的JSON plug-in在字符串和对象之间进行转换,而不会有执行任意代码的风险。

票数 6
EN

Stack Overflow用户

发布于 2010-12-29 17:30:32

a)加载并执行JS代码:

代码语言:javascript
复制
$.getScript( url, [ success(data, textStatus) ] )

请参阅http://api.jquery.com/jQuery.getScript/

b)解析JSON:

代码语言:javascript
复制
$.parseJSON( json )

请参阅http://api.jquery.com/jQuery.parseJSON/

票数 4
EN

Stack Overflow用户

发布于 2010-02-24 08:32:45

我不认为没有浏览器的区别是真的。我今天刚碰到一个。如果你在一个不存在的对象上对一个调用方法的字符串求值,火狐会返回undefined,IE6会抛出一个TypeError。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/592392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档