初次在Django运用Ajax,在网上找了例子练习,发现运行不报错但是没有返回结果。
例子是这样的:
https://code.ziqiangxuetang.com/django/django-ajax.html
无论怎么修改前端都没有返回值。最后发现自己犯了一个特别低级的错误。
把AJAX放在form标签里面,就有返回值显示了!!!!!
修改后的代码如下:
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
{% load static %}
<script type="text/javascript" src="{% static 'js/jquery-3.5.1.min.js' %}"></script>
<p>请输入两个数字</p>
<form action="add" method="get">
a: <input type="text" id="a" name="a"> <br>
b: <input type="text" id="b" name="b"> <br>
<p>result: <span id='result'></span></p>
<button type="button" id='sum'>提交</button>
<script type="text/javascript">
$(document).ready(function(){
$("#sum").click(function(){
var a = $("#a").val();
var b = $("#b").val();
$.get("add",{'a':a,'b':b}, function(ret){
$('#result').html(ret)
})
});
});
</script>
</form>
url:
path('index/', views.index), # 用于打开登录页面
path('index/add', views.add)
views:
def index(request):
return render(request, 'index.html')
def add(request):
a = request.GET['a']
b = request.GET['b']
a = int(a)
b = int(b)
return HttpResponse(str(a+b))
return render(request, 'index.html')
python manage.py runserver
显示功能:相加数之和