此代码有效:
$(this).load($('.pageloadlabel', this).attr('href'), {category: 1});
此代码不起作用:
var data = '{category: 1}';
$(this).load($('.pageloadlabel', this).attr('href'), data);
问题是,我怎样才能使它发挥作用?
答案 0 :(得分:2)
这不是JSON,它是一个javascript对象。
var data = { category: 1 };
如果您有字符串,则必须convert it to a object。
请注意,您的字符串不是有效的JSON,请参阅该链接以获取更多详细信息。
答案 1 :(得分:2)
取出引号,load函数期待一个对象,而不是一个字符串。
答案 2 :(得分:2)
您的数据不是Javascript对象而是字符串,您可以通过eval将其转换为对象,例如
data = eval('(' + data + ')');
但是eval被认为是危险的,所以最好将字符串解析为JSON,例如
data = JSON.parse(data)
对于JSON lib,您可以使用json2
答案 3 :(得分:0)
您是否尝试在数据上使用eval()
?
var data = '{category: 1}';
$(this).load($('.pageloadlabel', this).attr('href'), eval(data));