加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 综合聚焦 > 编程要点 > 资讯 > 正文

在视图中处理GET请求的高效措施

发布时间:2021-05-26 23:05:53 所属栏目:资讯 来源:互联网
导读: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请求中的数据来更新页面的一部分。

(编辑:辽源站长网)

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

    推荐文章
      热点阅读