如何解决Ajax 请求无法访问 Django 中的 URL我有一个整数id的问题
我正在为使用 Django 的患者开发一个应用程序。我试图获取有关患者的所有详细信息,并将其显示在新面板上。当用户按下按钮时,我使用患者的 ID。当我尝试将此 ID 放入 ajax 的 URL 时,我收到错误“noreverseMatch”。我不知道如何解决。欢迎任何帮助。抱歉缩进,但这是 Atom :))
我有两个 ajax 请求。第一个是功能性的(这里我在表格中显示所有患者的姓名,对于每个患者,我附加一个名为“详细信息”的按钮。当用户单击患者的“详细信息”按钮时,我想显示有关此人的所有数据在使用 href 到第二个 ajax 的新面板上)。我也有一个“删除”按钮,但它很实用,“详细信息”是这里的问题。
views.py
def getPatientDetails(request,id):
currentPatient = Patient.objects.get(id=id)
return JsonResponse({"patient":currentPatient})
该函数的 urls.py
path('getPatientDetails/<int:id>',getPatientDetails,name='getPatientDetails'),
这里是html模板
This is the first ajax,which is functional
<script>
$(document).ready(function(){
$.ajax({
type:'GET',url: "{% url 'getPatients' %}",success: function(response){
$("#displayPatients").empty();
for(var key in response.patients) {
var temp = "<tr><td>"+response.patients[key].firstName+"</td><td>"+response.patients[key].lastName+"</td><td>"+response.patients[key].phone+"</td><td><a href='getPatientDetails/"+response.patients[key].id+"'><button class='detailsButton outline-text'>Details</button></a><a href='deletePatient/"+response.patients[key].id+"'><button class='deleteButton outline-text'>Delete</button></a></td></tr>";
$("#displayPatients").append(temp);
}
},error: function(response){
alert("NO DATA FOUND!!!");
}
});
});
</script>
This is the second ajax request which has problems with the url
<script>
$(document).ready(function(){
$.ajax({
type:'GET',url: "{% url 'getPatientDetails/<int:id>' %}",// here is the problem. This type of request doesn't accept the <int:id> (Django logic)
success: function(response){
$("#patientDetails").empty();
var temp = response.patient;
console.log(temp.firstName); // for debug in web console
// Here I will display all data about this patient on a new panel
},error: function(response){
alert("NO DATA FOUND!!!");
}
});
});
</script>
解决方法
试试这个
url: "{% url 'getPatientDetails' id=patient.id %}",
你需要传递id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。