javascript - 如何将javascript变量发送到django
问题描述
我正在构建一个网络应用程序,用户可以在其中将值设置为特定数字。看起来像这样
<button type="button" class="btn btn-outline-primary" onclick="decrease()"> +1 </button>
<button type="button" class="btn btn-outline-primary" onclick="increase()"> -1 </button>
<script>
var a = 0;
function increase()
{
a--;
document.getElementById("val").innerHTML = a;
}
function decrease()
{
a++;
document.getElementById("val").innerHTML = a;
}
</script>
现在我想添加另一个按钮,例如:
<button type="button" class="btn btn-outline-primary" onclick="send()"> send it </button>
但我现在真的不知道如何发送它(也许我应该使用 axaj 和 POST)。我想从我的 django view.py 文件中访问该值并进一步处理它并将其发送回(这里是 GET)。
我该怎么做?在这里感谢任何帮助
解决方案
所以我已经找到了如何做到这一点。
html:
<button id="post-btn" class="btn btn-outline-primary"> test </button>
js:
var data = new FormData()
var a = 50;
var b = 100;
const button = document.getElementById('post-btn');
button.addEventListener('click', async _ => {
try {
data.append( "json", JSON.stringify(
{
'data1': a, /* var a = whatever */
'data2': b /* var b = whatever */
}
));
const response = await fetch('{% url "pulsox" %}', {
method: 'post',
headers: {
"X-Requested-With": "XMLHttpRequest"
},
body:data
});
}
catch(err)
{ window.alert('sth was wrong!'); }
});
视图.py
from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator
@method_decorator(csrf_exempt, name='dispatch')
def pulsox_view(request, *args, **kwargs):
if request.method == 'POST':
print(request.POST.get('json'))
a = request.POST.get('json')
print(a)
if request.POST.get( youritem):
# do you stuff
return render(request, your_page ,obj)
else:
return render(request,your_page,obj)
return render(request,your_page,obj)
推荐阅读
- java - 为什么 Netty/Redisson DNS Resolver 会在主机名中添加一个括号?
- python - LinearSVC 特征选择在 Python 中返回不同的 coef_
- oracle - ORA-01422: 精确提取返回的行数超过了触发器的请求行数
- javascript - 强制组中的每个选择具有唯一值
- java - jersey restful service如何与ejb集成?
- javascript - 石头,纸,剪刀游戏没有添加
- operator-keyword - 删除prometheus stateful set 重新创建自己
- reactjs - 在 React JS 中创建模块化企业应用程序
- python-3.x - ModuleNotFoundError:没有名为“溜冰者”的模块
- python - 为什么我的 numpy 数组没有保存我所有的字典数据?