加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

在视图中处理赏罚GET哀求的高效法子

发布时间:2021-05-26 21:59:58 所属栏目:编程 来源:互联网
导读:GET哀求 通过获取发出GET哀求 通过向其提供视图的URL和恰当的headers参数来举办获取GET哀求。发出哀求后,视图返回哀求的数据,然后必要将相应转换为JSON,然后

 通过获取发出GET哀求

通过向其提供视图的URL和恰当的headers参数来举办获取GET哀求。发出哀求后,视图返回哀求的数据,然后必要将相应转换为JSON,然后才气将其用于其他操纵。

fetch(URL, {  

      headers:{  

          'Accept': 'application/json',  

          'X-Requested-With': 'XMLHttpRequest', //Necessary to work with request.is_ajax()  

      },  

  })  

  .then(response => {  

      return response.json() //Convert response to JSON  

  })  

  .then(data => {  

      //Perform actions with the response data from the view  

  }) 

URL

提取将URL作为其第一个参数。按照Django项目标URLconf和视图的设置方法,URL也许包括要害字参数或查询字符串,我们但愿在视图中行使该参数来选择哀求的数据。

Headers

配置AJAX哀求头参数。我们但愿数据以JSON情势从视图返回,因此我们将Accept参数配置为application/json。在视图中,我们也许要确保该哀求是AJAX哀求。通过将配置为“XMLHttpRequest”的“X-Requested-With”标头包罗在内,该视图将可以或许搜查哀求是否为AJAX。

get不会直接返回数据。它将返回一个response,该response将返回所哀求的相应。为了从相应中获取数据,我们必需通过多次行使.then处理赏罚措施来行使链式response。第一个.then吸取已理会的相应并将其转换为JSON。第二个.then应承我们会见第一个.then返回的数据,并应承我们行使它,然后可以处理赏罚这个数据,好比举办更新页面操纵。

在视图中处理赏罚GET哀求

我们必要一个视图来处理赏罚来自fetch挪用的AJAX哀求。这可以通过多种方法完成,可是最简朴的要领之一就是行使基于函数的视图,该视图接管哀求并返回带有哀求数据的JsonResponse。

# views.py  

from django.http import JsonResponse  

def ajax_get_view(request): # May include more arguments depending on URL parameters  

    # Get data from the database - Ex. Model.object.get(...)  

    data = {  

            'my_data':data_to_display  

    }  

    return JsonResponse(data) 

假如通过包括附加参数的URL会见该视图,则这些附加参数也将与哀求一路包括在成果参数列表中。将按照那些URL参数或查询字符串(假如行使的话)从数据库中检索数据。我们要发送回页面的数据必需在行使JsonResponse。挪用之前,请确保从django.http导入JsonResponse。

该视图将返回JsonResponse,该序列将数据字典序列化并将其发送回我们的页面,在此页面中将通过链接举办处理赏罚。此刻,我们可以行使JavaScript行使GET哀求中的数据来更新页面的一部门。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读