django ajax 简书,Django 结合 jQuery 实现 AJAX(一)

本文展示了如何结合Django后端和jQuery前端,创建一个无需刷新页面即可查询用户年龄的功能。通过jQuery的get方法发送GET请求到Django视图,视图接收到请求后从数据库中查询用户年龄,并使用JsonResponse返回JSON数据。最终,前端接收到数据并显示在网页上。

本文我们结合 Django 和 jQuery 做一个不用刷新网页就能通过输入用户名查询该用户年龄的页面 。

编写 test.html(记得要引入 jQuery),这里我们采用 jQuery 的 get 方法向服务器端发送请求:

姓名:

年龄:

点击

// 请求服务器,返回JSON

$(document).ready(function(){

$("#AJAX_get").click(function(){

var name = $("#name").val(); // 获取输入框的值

var data = {"name": name}; // 打包成get请求发送的数据

$.get(

// 请求的url

'{% url 'ajax_get' %}',

// 发送的数据

data,

// 回调函数,其中ret是返回的JSON,可以以字典的方式调用

function(ret){

var name = ret['name'];

var age = ret['age'];

// 把查询结果输出到网页上

$("#result").text(age);

})

})

})

编写 views.py,这里我们使用 Django 的 JsonResponse 类,把前端输入的数据进行相应的查询处理之后,输出为 JSON。

from django.shortcuts import render

from django.http import JsonResponse

from myApp.models import Student

def test(request):

context = {}

return render(request, "test.html")

def ajax_get(request):

# 获取前端输入的内容

name = request.GET.get('name')

try:

student = Student.objects.get(name=name)

age = student.age

except:

age = "该姓名不存在"

data = {}

data['name'] = name

data['age'] = age

return JsonResponse(data)

编写 urls.py :

from myApp.views import test, ajax_test

urlpatterns = [

url(r'^admin/', admin.site.urls),

url(r'^test/', test, name="test"),

url(r'^ajax_get/', ajax_get, name="ajax_get"),

]

测试结果:

26cd9f442a13?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值