我有几个 AJAX 脚本在基本体django模板。我想运行他们在一个单独的js文件,但脚本不工作从一个文件。
- 我的脚本在身体模板(这是一个工作代码。):*
<!--Add product to the cart after press Add button-->
<script>
$(document).on('click', '#add-button', function (e){
e.preventDefault();
var prodid = $('#add-button').val();
$.ajax({
type: 'POST',
url: '{% url "add_cart" %}',
data: {
product_id: $('#add-button').val(),
quantity: $('#qty').val(),
csrfmiddlewaretoken: '{{csrf_token}}',
action: 'POST'
},
success: function (json) {
document.getElementById('cart_icon_count').innerHTML = json.qty;
},
error: function(xhr, errmsg, err) {}
});
})
</script>
然后从正文中删除脚本并复制到js文件中:
- 我的_js.js*
$(document).on('click', '#add-button', function (e){
e.preventDefault();
var prodid = $('#add-button').val();
$.ajax({
type: 'POST',
url: '{% url "add_cart" %}',
data: {
product_id: $('#add-button').val(),
quantity: $('#qty').val(),
csrfmiddlewaretoken: '{{csrf_token}}',
action: 'POST'
},
success: function (json) {
document.getElementById('cart_icon_count').innerHTML = json.qty;
},
error: function(xhr, errmsg, err) {}
});
})
在体内:
<script src="{% static 'js/my_js.js' %}"></script>
通常的java脚本函数是这样工作的,但由于某种原因这个脚本不是。有什么想法从一个单独的文件运行一个或多个这样的脚本吗?
1条答案
按热度按时间bq8i3lrv1#
谢谢qrsngky-你帮我解决了50%的问题,并指导我找到了正确的解决方案!
{% url“add_cart”%}我已将其替换为“/cart/add_cart/"。
错误403禁止访问-问题出在csrftoken中。
我添加了我的base.html
并在“js/my_js. js”中添加
csrfmiddlewaretoken: window.CSRF_TOKEN
类似地,我将{% url“add_cart”%}放在body.html的变量中。
一切都很顺利!