Python - Django - jQuery 实现简单的 AJAX
AJAX 局部刷新实例:
使用 jQuery 实现基本的发送 AJAX 请求
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> ajax 局部刷新实例 </title>
</head>
<body>
<input type="text" id="i1">+
<input type="text" id="i2">=
<input type="text" id="i3">
<input type="button" value="AJAX提交" id="b1">
<script src="/static/jquery-3.3.1.js"></script>
<script>
$("#b1").on("click", function () {
$.ajax({
url:"/ajax_add/",
type:"GET",
data:{"i1":$("#i1").val(),"i2":$("#i2").val()},
success:function (data) {
$("#i3").val(data);
}
})
})
</script>
</body>
</html>
urls.py:
from django.conf.urls import url
from app01 import views
urlpatterns = [
url(r'^index/', views.index),
url(r'^ajax_add/', views.ajax_add),
]
views.py:
from django.shortcuts import render, HttpResponse
def index(request):
return render(request, "index.html")
def ajax_add(request):
num1 = request.GET.get("i1")
num2 = request.GET.get("i2")
ret = int(num1) + int(num2)
return HttpResponse(ret)
访问,http://127.0.0.1:8000/index/

输入两组数,点击 “AJAX提交”,页面没有刷新也会计算出结果
上例 AJAX 代码解析:
<button id="b1">AJAX 测试</button>
<script>
$("#b1").click(function () { # 如果 id 为 b1 的按钮被点击
$.ajax({
url: "/ajax_add/", # ajax 数据请求的 URL
type: "GET", # 请求的方式
data:{"i1":$("#i1").val(),"i2":$("#i2").val()}, # 要发送的数据
success: function (data) { # 如果请求被正常处理就执行该函数
$("#i3").val(data); # 把从后端返回的数据填到 i3 中
}
})
})
</script>
Ajax 实现 url 跳转:
index.html:
<button id="b2">跳转</button>
<script src="/static/jquery-3.3.1.js"></script>
<script>
$("#b2").on("click", function () {
$.ajax({
url: "/ajax_test/",
type: "GET",
success: function (url) {
location.href = url; # url 跳转
}
})
})
</script>
views.py:
from django.shortcuts import render, HttpResponse
def ajax_test(request):
return HttpResponse("https://www.cnblogs.com/sch01ar/")
访问,http://127.0.0.1:8000/index/

点击“跳转”,就会跳转到博客园 https://www.cnblogs.com/sch01ar/
Ajax 显示图片:
index.html:
<button id="b3">显示图片</button>
<script src="/static/jquery-3.3.1.js"></script>
<script>
$("#b3").on("click", function () {
$.ajax({
url: "/ajax_test/",
type: "GET",
success: function (img_url) {
var imgEle = document.createElement("img");
imgEle.src = img_url;
$("#b3").after(imgEle);
}
})
})
</script>
views.py:
from django.shortcuts import render, HttpResponse
def ajax_test(request):
img_url = "https://www.cnblogs.com/sch01ar/0.jpg"
return HttpResponse(img_url)
访问,http://127.0.0.1:8000/index/

点击 “显示图片”


浙公网安备 33010602011771号