如何通过javascript

时间:2016-05-03 21:49:39

标签: javascript jquery html csrf django-csrf

 function populateMatches(id) {
 var url = "/get_matches/?s=" + id;
 $.get(url, function(response) {
     $container = $('.match-list-container');
     var i = 0;

     if (response.length > 0) {
         $container.html("");
         $container.append("<h5>Matches</h5>");
         $.each(response,function(){ 
             $container.append($("<h4>").text(response[i].match_percentile));
             $container.append($("<h6>").text("%"));
             $container.append($("<p>").text(response[i].match.content));
             $container.append('<form action="#" method="POST" id="match-info-form"><input type="checkbox" id="approve">Approve<input type="checkbox" id="discard">Discard<input type="checkbox" id="skip">Skip<br><input type="submit" id="savebutton" value="Save">');
             i++;
         })
     } else {
         $container.html("");
         $container.append("<h5>No Match Found</h5>");
     }
 });
}

populateMatches 是在点击事件上调用的功能。 服务器发送的响应包含可变数量的对象,具体取决于所点击的div。

所以,如果&#39; n&#39;对象存在于响应中,我需要动态创建n个表单,因此无法在静态html文件中创建表单。

但是如何在我的javascript文件中将CSRF令牌添加到表单中。?

我知道可以在html模板表单中编写 {%csrf_token%} ,但是在动态生成表单时如何克服这个问题。

P.S。我不想排除csrf验证

1 个答案:

答案 0 :(得分:0)

您可以简单地将CSRF令牌存储为元标记吗?然后抓住并插入响应?

请参阅:Is it a good practice to store the csrf token in meta tag?