2011-03-12 69 views
0

我试图将由逗号分隔的python字符串数据转换为javascript数组变量,但该过程似乎没有工作。如何将字符串变量从python转换为JavaScript文字数组?

这些是我目前的代码:

var tagstring = {{ tag_data }}; 
    var availableTags = new Array(); 
    var availableTags = tagstring.split(","); 

我需要的数组是这个样子:

var availableTags = ["Google App Engine","jQuery"]; 

任何想法?

编辑:

这些都是工作的代码,多亏了社区计算器:)

var tagstring = "{{ tag_data }}"; 
    var availableTags = new Array(); 
    var availableTags = tagstring.split(","); 

基本上,即使Python变量是一个字符串,它仍然需要被指定为一个字符串在JavaScript

+1

请张贴什么'{{tag_data}}'产生的,没错。 – Tomalak 2011-03-12 07:35:15

+2

我可以建议使用Python JSON库来从Python获取数据并将其放入Javascript中吗? – Amber 2011-03-12 07:40:32

+0

'eval'是否适合你? – Gabe 2011-03-12 07:42:02

回答

1

什么

var tagstring = "{{ tag_data }}"; 
var availableTags = tagstring.split(","); 

PR变量oduce?

顺便说一句,这可以进一步折叠成一行。

var availableTags = "{{ tag_data }}".split(","); 
3

假设这是一个Django的模板,那么这应该:

var tagstring = "{{ tag_data|escapejs }}"; 

我加引号(")的tag_data左右,否则就在字符串中的文字文本会被插入到Javascript中;你想构造一个包含这个值的的Javascript字符串。

我也用了escapejs标签,以避免与嵌入式反斜杠问题等妥善的解决办法是不使用任何字符串函数

+0

用于'escapejs'过滤器的+1。 'escape'将不是必需的,因为在'