2016-07-25 44 views
0

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

1 ----用户的输入数据---阿贾克斯--->后端---处理---一个url第2页---阿贾克斯 - > 2页

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

这里是代码n中的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

在你处理的看法:

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; 
     }, 
     (...) 
+0

谢谢Rafalmp,它真​​的有效! :) –