从Django后端发送url到ajax的success()

时间:2016-07-25 21:58:37

标签: ajax django

我想将数据从HTML视图发送到Django后端进行处理,然后后端会将URL发送回HTML视图,该视图会将用户重定向到另一个页面。它是这样的:

Page 1 ----用户的输入数据--- Ajax --->后端---进程---第2页的网址--- Ajax - >第2页

问题在于,我不知道如何在处理用户数据后将URL发送回Ajax,因此我必须使用window.location.href =' /&重定向#39; 。但我认为代码不是这样干净的。我想知道是否有办法从后端发送URL到Ajax的成功。

以下是HTML代码:

  function doSomething(data){
  $.ajax({
        type: "POST",
        url: URL_POST_BY_AJAX,
        data: {
            'data' : data,
          },

        success: function (response) {
           window.location.href = '/';
        },
        error: function (data) {
            alert('failed');
        }
    });}

请帮帮我。谢谢!

1 个答案:

答案 0 :(得分:1)

在处理视图中:

from django.http.response import JsonResponse
def whatever_your_view_name_is(request):
    (data processing...)
    return JsonResponse({'url': the_url_to_page_2)

然后在你的JS中:

        (...)
        success: function (response) {
            window.location.href = response.url;
        },
        (...)