我有多个来自模板的POST请求,例如:
$.ajax({
url: '/apply_payment',
type: 'POST',
data: {
basket: JSON.stringify(basket),
key: $('#key_input').val(),
csrfmiddlewaretoken: CSRF_TOKEN
},
dataType: 'json',
success: function (data) {
$("#key_input").val("");
},
...
我在视图.py中读取了basket
数据,如下所示:
basket = request.POST.get('basket', '')
在urls.py中,我有以下形式的url:
path('apply_payment', entrance_api.apply_payment, name='apply_payment'),
最近,我在URL中添加了i18n_patterns
,并翻译了所有页面,但AJAX调用停止了工作。我想这是因为URL在所选语言之间动态变化,但我可能错了。
例如,showsbasket
变量现在在视图中始终为None
。我该怎么解决这个问题?
根据我的经验,我必须为POST请求URL:准备一个语言代码
$.ajax({
url: '/en/apply_payment', // prepend a language code or even better: use window.location.href
type: 'POST',
data: {
basket: JSON.stringify(basket),
key: $('#key_input').val(),
csrfmiddlewaretoken: CSRF_TOKEN
},
dataType: 'json',
success: function (data) {
$("#key_input").val("");
},