【发布时间】:2020-04-05 04:12:58
【问题描述】:
编辑 低于我所做的,但即使我的 ajax 看起来正确,我的导航栏也不会更新 ajax 请求的结果
urls.py
app_name='randomization'
urlpatterns = [
...
path('stock/', views.stock, name='stock'),
]
views.py
def stock(request):
if request.method == "POST":
site = request.POST['site']
else:
site = ''
# database queries to be done after
# result will be stock == True or stock == False
return render(request, 'randomization/stock.html', {'stock': True})
ajax 代码
$("#site").on("change", function(event){
console.log($(this).val());
$.ajax({
type: "POST",
url: '{% url "randomization:stock" %}',
data: {
csrfmiddlewaretoken: '{{ csrf_token }}',
'site' : $(this).val(),
},
dataType: 'html',
success: function (data) {
// alert(data) -> OK
if (data) {
// alert("Test retour requete ajax"); -> OK
$("#alerte").html(data);
}
}
});
});
ajax 模板
{% if stock %}
<a class="nav-link" id="informations" href="#" style="color:red; padding-right: 50px;"><strong>Insufficient stock</strong></a>
{% else %}
{% endif %}
<li class="nav-item" id="alerte">
// ajax template to be added
</li>
所以我不明白为什么它没有添加“库存不足”的消息?
。 . .
我有一个带有经典导航栏的 Django 项目,其中包含一个带有下拉菜单的选择和其他链接
我有一个函数可以查询数据库以控制中心的药品库存(用户中心 - 默认为 CHU - 或选择中心)并返回布尔值 如果为真,则显示红色警报“库存不足”,不应显示链接“随机分配患者”和“重新分配患者”
当用户选择另一个中心而不重新加载页面时,我希望重新评估药品库存 我想我应该使用 ajax 但我不知道如何实现
【问题讨论】:
-
你用谷歌搜索过你的问题吗?
-
在问问题之前,我建议阅读和搜索它,youtube.com/watch?v=jKSNciGr8kY realpython.com/django-and-ajax-form-submissions 他们有很多关于 Ajax 和 Django 的视频和教程。