我有一个调用Django URL的Javascript页面,但这个调用只运行一次。
html代码在这里:
<script>
function myFunction(pk) {
if ($.data(this, 'submitted')){
return false;
}
$.data(this, 'submitted', true);
$.get("{%url 'myViewURL' %}",{req:pk}, function (data) {
$.data(this, 'submitted', false);//libero
});
}</script>
按钮代码
<button onclick="myFunction({{id}});">Click Me</button>
观看代码:
def myFuncView(request):
p_id=request.GET['req']
do_stuff(p_id)
return redirect('anotherURL',p_id,permanent=True)
第一次按下按钮是什么时候,它会触发,但之后它不再起作用,即使我刷新页面或转到另一页然后回来!
答案 0 :(得分:0)
this
函数中的 get
是指ajax请求,而不是启动它的按钮。
您需要存储对this
的引用,以便您可以在不同的上下文中使用它:
var self = this;
$.get("{%url 'myViewURL' %}", {
req: pk
}, function (data) {
$.data(self, 'submitted', false); //libero
});