html - 我正在尝试对我的 django 后端进行 ajax 调用
问题描述
我有 ths 代码 tyng 可以使用 ajax 调用我的 django,但它给了我这个错误:Reverse for 'delete_skill' with arguments '('',)' not found。尝试了 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'),
请对正在发生的事情或我应该添加的任何帮助
解决方案
好的,为了帮助您继续前进,这里有一个我使用的原则:
为 href 创建 data-* 属性,例如 data-href。您可以在此处阅读有关 data-* 属性的更多信息。
<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()
您可以使用或通过 dataset属性在 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"); } } }); });
这样,当您更改网址时,您的代码就不会中断。
推荐阅读
- ios - 未找到无法识别的模块映射文件 Release-iphonesimulator/YogaKit/YogaKit.modulemap'
- python - 如何使用 python 从 json 中提取内部字符串元素?
- javascript - Javascript API 提交错误
- r - 我可以使用 R dplyr 中的“summarise_all”函数计算所有列的标准误差吗
- three.js - 从 hitTest.face.normal 获取全局法线
- html - 我的页脚元素有问题:不会停留在页面底部
- php - 如何使用 .htaccess 在代码点火器中访问带有 .php 扩展名的控制器(Branding.php),例如 http://localhost/myproject/branding.php
- visual-studio - 在发布 Visual Studio 时将版本添加到文件夹名称
- python-3.x - CouchDB 和 Python 中的临时视图
- sql - 在sql中将超过1个句点替换为1个句点