高阶应用-Ajax
阅读 (163393)
分享
一、方法
is_ajax() 判断是否为ajax请求
二、Ajax GET示例
-
模板代码
<!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <script> function ajax_get() { $.get('/test_ajax/', function(data){ console.log(data) }) } </script> </head> <body> <a href="#" onclick="ajax_get();">ajax_post</a> </body> </html>
-
视图
from django.http.response import JsonResponse def test_ajax(req): print(req.is_ajax()) return JsonResponse({'code': 200})
-
路由地址
urlpatterns = [ path(r'', main.index, name='index'), path(r'test_ajax/', main.test_ajax, name='test_ajax'), ]
三、Ajax POST示例
-
模板代码
<!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <script> $.ajaxSetup({ data: {csrfmiddlewaretoken: '{{ csrf_token }}' }, }); function ajax_post() { $.post('/test_ajax/', function(data){ console.log(data) }) } </script> </head> <body> <a href="#" onclick="ajax_post();">ajax_post</a> </body> </html>
ajaxSetup() 方法为将来的 AJAX 请求设置默认值。
-
视图函数
from django.http.response import JsonResponse def test_ajax(req): print(req.is_ajax()) return JsonResponse({'code': 200})
-
路由地址
urlpatterns = [ path(r'', main.index, name='index'), path(r'test_ajax/', main.test_ajax, name='test_ajax'), ]
需要
登录
才可以提问哦
: