2010-05-04 83 views
0

我必须返回作为一个集合JSON数据:

var foo = ["6", "7", "33"] 

在jQuery的使用JSONP。由于我使用的是JSONP,因此数据将返回到回调函数,该函数将其解释为字符串而不是集合。在将其作为集合处理之前,是否需要在回调中的字符串上运行eval(foo)?还是有其他方法来重新使用它?

+0

请注意,使用'eval'是潜在的安全风险。按照bcherry的建议保证脚本安全。 – outis 2010-05-04 04:47:53

回答

2

如果你使用jQuery,你应该做.ajaxdataType: "jsonp",这应该发送解析的数据到你的回调,而不是一个字符串。如果这不适用于您,或者我没有看到其他复杂性,则可以使用$.parseJSON(foo)而不是eval(foo)。如果它存在,这将调用浏览器的原生JSON.parse方法,如果不存在,则使用eval