将变量传递给json集合

时间:2011-04-24 20:55:34

标签: javascript

我正在尝试调用以下js方法。我希望传入变量siteid。我可以提醒这个价值。但它似乎不适用于以下情况。即如果只是添加ID 1234它的工作原理。

警报(SITEID);

embedSWF ('flashcontent', '{"siteID":siteid,"siteType":"portal","mainSWF":"http:\/\/tv.xxx.net\/flash\/xxx1.swf","movieWidth":"426","movieHeight":"276","expressInstall":"http:\/\/tv.xxx.net\/expressInstall.swf"}');

4 个答案:

答案 0 :(得分:2)

您需要将siteid的值连接到字符串中:'...' + siteid + '...'

根据您正在构建的内容,您可能希望字符串在值周围加上引号。

答案 1 :(得分:2)

最有效的方法是首先将对象作为普通对象,然后将其序列化:

var parms = {siteID: siteid, siteType: "portal", ...};
embedSWF('flashcontent', JSON.stringify(parms));

如果您需要支持没有内置JSON对象的过时浏览器,可以在线使用多个implementations

答案 2 :(得分:0)

embedSWF ('flashcontent', '{"siteID":'+siteid+',"siteType":"portal","mainSWF":"http:\/\/tv.xxx.net\/flash\/xxx1.swf","movieWidth":"426","movieHeight":"276","expressInstall":"http:\/\/tv.xxx.net\/expressInstall.swf"}');

答案 3 :(得分:0)

你传递了一个字符串:

 '{"siteID":siteid,"siteType":"portal","mainSWF":"http:\/\/tv.xxx.net\/flash\/xxx1.swf","movieWidth":"426","movieHeight":"276","expressInstall":"http:\/\/tv.xxx.net\/expressInstall.swf"}'

你可能想要通过:

'{"siteID":' + siteid + ',"siteType":"portal","mainSWF":"http:\/\/tv.xxx.net\/flash\/xxx1.swf","movieWidth":"426","movieHeight":"276","expressInstall":"http:\/\/tv.xxx.net\/expressInstall.swf"}');

传递JSON字符串而不是关联数组本身似乎有点奇怪。无论哪种方式,这都是你的问题,上面。