INTRO:我正在编写一个Django应用程序,它需要将一些数据从前端发送到后端的views.py文件中。为此,我有一个按钮,当点击它时,它会执行一个事务。它看起来如下:
<button id="submit_transaction" type="button" class="btn btn-outline-info" onclick="transaction()">Transaction</button>
问题:单击时,按钮会触发一个名为transaction()
的函数,该函数执行异步操作,如下所示:
<script>
async function transaction(){
// Perform some task
// Submit transaction
$.ajax({
type: 'POST',
data : {
'public_key': public_key,
},
success: function(res){
console.log(res);
}
});
}
</script>
在这个异步函数中,有一个 AJAX 调用,它将一些数据收集到一个变量中,然后通过post请求将其发送到后端(如这里所建议的link)。
但是,当我单击该按钮时,弹出以下错误:
未捕获(在承诺中)TypeError:非法调用
问题:你知道我做错了什么吗?或者你能建议一个聪明而优雅的解决方案,将一些数据从前端发送到后端吗?
1条答案
按热度按时间but5z9lq1#
您需要提供URL
如果你想让你的django视图接受请求,你还必须提供csrf_token(或者使用csrf_exempt,这是不太安全的)
我建议在 AJAX 上使用Request标准JS库,因为Request是原生的。https://developer.mozilla.org/en-US/docs/Web/API/Request/Request
下面是一个如何使用Request的示例: