目標:我想傳遞Django中的字符串列表以將JS作爲字符串數組模板並獲取數組中的每個字符串的索引。將Django的字符串列表傳遞給JS作爲數組
問題:Javascript indexOf()
正在計算每個字符(例如字母,單引號和括號)。我在下面的嘗試是基於this,this和this。
代碼1:我嘗試escapejs
和safe
過濾器,但indexOf()
在數組中返回2的第一項(應爲0)。
#views.py
list = [#utf-8 encoded strings]
return render(request, template, {'list': list})
#template JS
$('#id').ready(function() {
var array = "{{list|escapejs}}";
console.log(array.indexOf('{{obj}}'));
#obj is item in list});
代碼2:也試過用json.dumps()
或encode('utf8')
但json.loads()
的問題仍然存在。
#views.py
list = [#utf-8 encoded strings]
list = json.dumps(list, ensure_ascii=False).encode('utf8')
return render(request, template, {'list': list})
#template JS
$('#id').ready(function() {
var array = "{{list}}";
console.log(array.indexOf('{{obj}}'));
#obj is item in list});
'VAR陣列=「 {{list}}「;'退出模板過程如下:'var array =」[\「first \」,\「second \」]「;'。這就是說它是一個字符串,而不是一個數組。 – Kendas
您可以使用eval將字符串轉換爲javascript中的對象 – Harsha
如果您嘗試從前端向後端發送json對象 - 爲什麼不首先使用由django rest框架構建的REST API呢? –