django 处理ajax

  • 一、前端ajax请求
    • 1.get请求
    • $(function () {
      • $('#click1').click(function () {
        • $.get("{% url 'articles:love_add' %}",{artid:{{article.id}}},function(callback){
          • if(callback.status=='ok'){
            • alert(' ')
          • }
          • else if(callbace.status == 'nologin'){
            • alert('未登录')   后端装饰器
          • }
        • })
      • })
    • })
    • 2.post 请求   post 请求在参数里加入csrftoken
      • $(function () {
        • $('#click1').click(function () {
          • $.post("{% url 'articles:love_add' %}",{artid:{{article.id}},csrfmiddlewaretoken:'{{csrf_token}}'},function(callback){
            • if(callback.status=='ok'){
              • alert(' ')
            • }
            • else if(callbace.status == 'nologin'){
              • alert('未登录')   后端装饰器
            • }
          • })
        • })
      • })
    • 3.通用
    • $(function () {
      • $('#click1').click(function () {
        • $.ajax({
          • url:'{% url 'articles:love_add' %}',
          • type:'POST', 或者GET
          • data:{artid:{{article.id}},csrfmiddlewaretoken:'{{csrf_token}}'},
          • success:function (callback) {
            • if(callback.status=='ok'){
              • alert(' ')
            • }
            • else if(callbace.status == 'nologin'){
              • alert('未登录')   后端装饰器
            • }
          • }
        • })
      • })
    • })
  • 二、后端
    • 1,配置路由
    • url(r'^love_add/$',love_add,name='love_add')
    • 2.视图函数 ajax请求返回Json对象
    • from django.http  import JsonResponse
    • @装饰器
    • def love_add(request):
      • if request.is_ajax();  判断是否为ajax请求
        • ajax中的data 数据 可以通过  request.GET.get('artid')  拿到  GET和POST 视情况而定
        • 当为POST请求,通常进行表单验证
        • ....
        • return JsonResponse({
          • 'status':'ok'
        • })

猜你喜欢

转载自blog.csdn.net/qq_41654985/article/details/80929967
今日推荐