0
我必须返回作为一个集合JSON数据:
var foo = ["6", "7", "33"]
在jQuery的使用JSONP。由于我使用的是JSONP,因此数据将返回到回调函数,该函数将其解释为字符串而不是集合。在将其作为集合处理之前,是否需要在回调中的字符串上运行eval(foo)
?还是有其他方法来重新使用它?
我必须返回作为一个集合JSON数据:
var foo = ["6", "7", "33"]
在jQuery的使用JSONP。由于我使用的是JSONP,因此数据将返回到回调函数,该函数将其解释为字符串而不是集合。在将其作为集合处理之前,是否需要在回调中的字符串上运行eval(foo)
?还是有其他方法来重新使用它?
如果你使用jQuery,你应该做.ajax
与dataType: "jsonp"
,这应该发送解析的数据到你的回调,而不是一个字符串。如果这不适用于您,或者我没有看到其他复杂性,则可以使用$.parseJSON(foo)
而不是eval(foo)
。如果它存在,这将调用浏览器的原生JSON.parse
方法,如果不存在,则使用eval
。
请注意,使用'eval'是潜在的安全风险。按照bcherry的建议保证脚本安全。 – outis 2010-05-04 04:47:53