2010-05-04 82 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