2017-06-02 96 views
0

我有一个ajax函数,它正在请求检查用户输入的用户名是否有效。为此我写了一个ajax函数并创建了一个视图来检查有效性。该视图检查有效性并返回JSON响应。成功执行Ajax函数后重定向到新的Django url?

$.ajax({ 
     url: 'some/url', 
     data : {'username' : 'username'}, 
     dataType: 'json', 
     success: function (data) { 
     if (data.results == "failed"){alert('Username not available')} 
     else if (data.results == 'success' {location.href = "some/new/url" + with json_data} 
    }, 
    complete : function(){ 

} 
    }) 

};

如果输入用户名,它会要求用户再次输入,如果可用,将会加载一个新页面,并且来自服务器的datatype将为带有多个值的JSON data。我怎样才能加载新页面作为参数JSON data。我用location.href但我怎样才能把json作为参数?

编辑: 我views.py代码

def validate_username(request): 
    username = request.GET.get('username', None) 
    isAvailable = 'Checking_in_database' 
    data ={} #JSON Data 
    return JsonResponse(data) 
+0

您可以发布您的Django视图代码呢?在成功函数中尝试location.href而不是完整的。 – Aniket

+0

@Aniket,已更新。 – Rao

+0

您不能将json_data从js传递到新的url。而是创建一些URL'/ data/'并获取用户上下文并从服务器传递。 –

回答

0

我不知道你为什么不服务器端使用它???

如果您检查服务器中的条件会更好。

但对于使用location.href =“一些/新/ URL”的情况下,你可以把字典它喜欢:

location.href = "some/new/url" {data:data}