我有代码tyng来调用我的django使用ajax支持 但它给了我这个错误:反向'delete_skill',找不到参数'('',)'。尝试了1种模式:['jobs / delete_skill /(?P [0-9] +)$']
<a href="{% url 'freelance:delete_skill' id_number %}"
class="glyphicon glyphicon-trash delete_skill"
style="padding:0px; margin:0px; background:grey;
color:red; border:0px;" id="{{skill.id}}"></a>
</span>
{% endfor %}
{% endif %}
<script>
$(document).ready(function() {
$(".delete_skill").click(function(){
var id_number = this.id;
alert(id_number);
$.ajax({
type: 'DELETE',
url: "{% url 'freelance:delete_skill' id_number %}",
dataType: "json",
data: 'identifier='+id_number, 'csrfmiddlewaretoken': '{{ csrf_token }}
success: function(){
if(data) {alert("Success! skill has been deleted")}
});
});
}); 我的网址是这样的
url(r'^delete_skill/(?P<identifier>[0-9]+)$', views.delete_skill, name='delete_skill'),
任何有关正在发生的事情或我应该添加的内容的帮助
答案 0 :(得分:0)
好的,为了帮助你前进,这是我使用的原则:
为href创建data- *属性,例如data-href。您可以阅读有关data- * attributes here的更多信息。
<a href="#" data-href="{% url 'freelance:delete_skill' skill.id %}"
class="glyphicon glyphicon-trash delete_skill" style="padding:0px; margin:0px;
background:grey; color:red; border:0px;" id="{{skill.id}}"></a>
您可以使用getAttribute()
或数据集属性在javascript中访问此data-href属性。下面是jQuery示例,因为您已经使用了jQuery。
$(".delete_skill").click(function() {
var url = $(this).attr("data-href");
$.ajax({
type: "DELETE",
url: url,
dataType: "json",
data: {csrfmiddlewaretoken: '{{ csrf_token }}'},
success: function(data){
if(data) {
alert("Success! skill has been deleted");
}
}
});
});
这样,当您更改网址时,您的代码就不会中断。