2013-04-13 74 views
0
var id_person_value = 4; 

$('#message').load("{{ path('MyBundle_ajax_modal_vote', {'id_person' :"+id_person_value+"}) }}", function() {//.. 

它應該返回如何使用引號和雙引號將JavaScript變量連接成複合字符串?

$('#message').load("{{ path('MyBundle_ajax_modal_vote', {'id_person' : 4 }) }}", function() {//.. 

但這返回我:http://mywebsite.com/app_dev.php/+id_person_value+

我怎麼能正確地注入價值?

非常感謝您的幫助!

+0

嘗試使用3個括號,例如:{{{path(...)}}} –

回答

0

使用簡單的雙引號開始和結束字符串「」。如果你想在你的字符串中包含任何引號或雙引號,請使用轉義字符\在引用 之前,例如,你希望字符串爲s = hello「world 然後s =」hello \「」+「World」或s =「hello」+ 「\」」 +‘世界’

1

您可以使用轉義字符如\」插入單引號的字符串和\」雙引號

1

而不將東西放在一起,這是繁瑣和內容易出錯,嘗試格式化功能,在其他語言類似printfformat

str = format("{{ path('MyBundle_ajax_modal_vote', {'id_person' : {0} }) }}", 4) 

遺憾的是,在Javascript中沒有這樣的內置,但它很容易寫:

function format(str) { 
    var args = [].slice.call(arguments, 1); 
    return str.replace(/{(\d+)}/g, function($0, $1) { 
     return args[$1] 
    }) 
} 

更多的實現中可以看到JavaScript equivalent of Python's format() function?

相關問題