组团学

高阶应用-Ajax

阅读 (163356)

一、方法

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'), ]
需要 登录 才可以提问哦