当我从模板向我的视图发出ajax获取请求时,我遇到一个奇怪的问题。当我单击“历史记录”按钮时,我可以在日志中看到ajax已将请求发送到两个不同的URL。
控制台日志:
[06/Nov/2019 21:22:38] "GET /NewHandBook/UserHistory?uname=pvivek
HTTP/1.1" 200 4306
[06/Nov/2019 21:22:38] "GET /NewHandBook/Home? HTTP/1.1" 200 9980
请求应该只发送到/NewHandBook/UserHistory
,但不确定为什么到达/NewHandBook/Home
。
我的ajax调用:
<form id="UserHistory">
<button type="submit" class="btn btn-primary">
<i class="fas fa-history"></i> History
</button>
</form>
$(document).on('submit', '#UserHistory', function (e) {
console.log("clicked history button");
console.log(getCookie("userName"));
$.ajax({
type: 'GET',
url: '/NewHandBook/UserHistory',
data: {
'uname': getCookie("userName")
},
success: function (data) {
console.log("executed userHistory")
console.log(getCookie("userName"));
}
})
})
Urls.py
url('UserHistory', views.history)
views.py
def history(request):
uname=request.GET.get('uname')
result = UserQueryHistory.objects.filter(User_name=uname)
return render(request, 'History/DbHistory.html', {"result": result})
答案 0 :(得分:0)
如果您有表格并单击“输入类型”按钮,则单击按钮将提交您的表格。您的字体带有event.preventDefault
。这就是为什么此按钮触发两个请求的原因。
有一些解决方案。最简单的两个是: