[英]Inserting javascript variable into json string
这应该是非常简单的,但我总是会出错。
我有一个需要向其中添加js变量的JSON字符串,代码示例如下。 本质上,我需要在URL字符串中的hash标签之后添加frameVideo变量。
var frameVideo = window.location.hash.substring(1);
jwplayer("sVid").setup({
'share-video': {
'code': '<embed src="http://www.website.com/test.php#"\'.frameVideo.\'" width="480" height="270" allowfullscreen="true" />'
},
});
我需要做些什么?
您使用的是PHP串联而不是javascript样式。
var frameVideo = window.location.hash.substring(1);
var JSON =
{
'code': '<embed src="http://www.website.com/test.php#"' + frameVideo + ' width="480" height="270" allowfullscreen="true" />'
};
使用+
代替.
连接字符串。
考虑到编码风格,我猜您只是从PHP转到javascript。 在javascript中,我们使用+
代替,而不是.
在PHP中。
JSON字符串本质上是javascript对象:
var obj = {
'share-video': {
'code': '<embed src="http://www.website.com/test.php#' + frameVideo + '" width="480" height="270" allowfullscreen="true" />'
}
}
您还将在对象上下文之外定义对象的索引。 'variable':'something'
是在对象外部时的语法错误。 对象封装在{
和}
。 上面的代码在语义上是正确的。
调试JavaScript时,请始终检查控制台日志。 他们可以帮助您准确找出导致问题的原因。 如果您不知道如何激活控制台,则可以在大多数浏览器中使用F12
或通过右键单击-> inspect元素对其进行访问。 我建议使用Google Chrome浏览器进行javascript调试。
使用+
进行串联。
也不用在这里逃脱任何东西。
#
后面有一个双引号。
您想对JSON中的键名使用双引号(在这里可能没有什么区别,但是无论如何都是一个好习惯)
您的"share-video"
对象后面有一个逗号结尾。
var frameVideo = window.location.hash.substring(1);
jwplayer("sVid").setup({
"share-video": {
"code": '<embed src="http://www.website.com/test.php#' + frameVideo + '" width="480" height="270" allowfullscreen="true" />'
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.