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