此代碼的工作:我可以使用變量傳遞json字符串嗎?
$(this).load($('.pageloadlabel', this).attr('href'), {category: 1});
此代碼不起作用:
var data = '{category: 1}';
$(this).load($('.pageloadlabel', this).attr('href'), data);
問題是,我怎樣才能使它發揮作用?
此代碼的工作:我可以使用變量傳遞json字符串嗎?
$(this).load($('.pageloadlabel', this).attr('href'), {category: 1});
此代碼不起作用:
var data = '{category: 1}';
$(this).load($('.pageloadlabel', this).attr('href'), data);
問題是,我怎樣才能使它發揮作用?
您的數據不是Javascript對象,而是一個字符串,您可以通過eval將其轉換爲對象。
data = eval('(' + data + ')');
但eval被認爲是危險的,所以更好地解析字符串爲JSON例如
data = JSON.parse(data)
對於JSON lib中您可以使用json2
我能夠使用JSON庫解決我的問題。謝謝。 – 2010-07-28 17:30:20
這不是JSON,它是一個JavaScript對象。
var data = { category: 1 };
如果你有一個字符串,你必須convert it to a object。
並注意您的字符串不是有效的JSON,請參閱鏈接瞭解更多詳細信息。
您是否試過在數據上使用eval()
?
var data = '{category: 1}';
$(this).load($('.pageloadlabel', this).attr('href'), eval(data));
取出引號,加載函數期待一個對象,而不是一個字符串。
嘗試刪除周圍的JSON引號時,分配給數據。 – 2010-07-28 17:12:02