【发布时间】:2021-08-09 05:24:50
【问题描述】:
在尝试使用 AJAX 而不是 href 链接时,我的 javascript 代码出现问题。
我需要点击一个看起来像这样的 django url (Django 2.2):
path('one-time/<str:product_url>/', OneTimeProductView.as_view(), name='one_time_product')
django 模板中的原始代码是:
<a href="{% url 'one_time_product' product %}">{{product}}</a>
我现在想使用 ajax 调用让整个过程在模态框内打开。在我的 javascript 代码中,我的 fetch 函数如下所示:
function handleAccess(){
var url = "{% url 'one_time_product' product %}" ;
fetch(url, {
method: "POST",
headers: {
"X-CSRFToken": '{{csrf_token}}',
"Accept": "application/json",
"Content-Type": "application/json"
}
})
.then (response => {
response.json();
})
.then (data => {
console.log(data);
})
};
我知道我缺少与 url 变量中的参数相关的东西,但我只是不知道如何正确添加它以适应 url 路径。
这是我点击按钮时遇到的错误
NoReverseMatch at /one-time/ Reverse for 'one_time_product' 没有 未找到论据。尝试了 1 种模式: ['one\-time\/(?P
[^/]+)\/$']
fetch函数中的url应该怎么写?
我将不胜感激,任何人都可以在这里为我指明正确的方向。
谢谢
【问题讨论】:
-
谁调用handleAccess?原始链接元素是否有onclick?
标签: javascript django url fetch