【问题标题】:Redirecting to new Django url after successful Ajax function execution?成功执行 Ajax 函数后重定向到新的 Django url?
【发布时间】:2017-06-02 07:13:34
【问题描述】:

我有一个ajax 函数,它正在请求检查用户输入的用户名是否有效。为此,我编写了一个 ajax 函数并创建了一个视图来检查有效性。视图检查有效性并返回JSON 响应。

    $.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)

【问题讨论】:

  • 您也可以发布您的 django 视图代码吗?也可以在成功函数中尝试 location.href,而不是在完整函数中。
  • @Aniket,已更新。
  • 您不能将 json_data 从 js 传递到新的 url。而是创建一些 url /data/<id_of_the_user> 并获取用户上下文并从服务器传递。

标签: jquery json ajax django


【解决方案1】:

我想知道你为什么不在 SERVER 端使用它???

最好在Server中查看条件。

但是对于使用 location.href = "some/new/url" 的情况,您可以为它添加字典:

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

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2018-11-20
    • 2013-12-03
    • 2015-06-13
    • 1970-01-01
    相关资源
    最近更新 更多