从javascript重定向url

从javascript重定向url,javascript,jquery,ajax,django,Javascript,Jquery,Ajax,Django,我的django观点如下: def example(request, id): context = {} if id: context['redirect_url'] = '/foo/' + str(id) + '/' else: context['success'] = True return JsonResponse(context) 我使用ajax从一个页面调用这个方法,比如说'index.html' $.ajax({

我的django观点如下:

def example(request, id):
    context = {}
    if id:
        context['redirect_url'] = '/foo/' + str(id) + '/'
    else:
        context['success'] = True
    return JsonResponse(context)
我使用ajax从一个页面调用这个方法,比如说'index.html'

$.ajax({
    url: url,
    success: function(data){
        if(data.success==true){
            # Do something here    
        }else{
            window.location.replace(data.redirect_url)
        };
    }
});
当“上下文”中的“成功”为真时,一切都正常。但当它不是真的并且分配了重定向url时,它会从javascript重定向到“重定向url”。调用后,它将回调示例视图,并在浏览器中给出json响应。我想要的是在“index.html”中启动ie的页面中的ajax响应


“示例”视图中提到的“重定向url”ie'/foo/1/“正在调用另一个视图,而不是“示例”视图本身。

我不明白。它正在做您要求它做的事情:重定向到给定的URL。你们想要什么呢?当它被重定向到redirect_url后,再次调用请求视图,并且可以在浏览器上看到json响应。我不想要浏览器上的json响应。我希望在调用ajax请求时得到响应。这个响应应该在我开始的页面上。但是如果你不想重定向,就不要重定向。如果不想更改窗口位置,为什么要调用
window.location.replace
。我被重定向到“foo”。现在,当foo完成时,再次将“foo”重定向到“example”视图。这个示例视图在我的浏览器中给出了响应,即屏幕上的json。我希望json被加载到我开始的第X页上。我的代码可能是错的。我们可以做些什么呢?对不起,问题不清楚(我想把最后一个json加载到我请求ajax请求的第一个页面。jsonp能解决我的问题吗?我不明白。它正在做你要求它做的事情:重定向到给定的URL。你想要什么?重定向到重定向后,再次调用URL请求视图,可以在浏览器上看到json响应。我不知道浏览器上的nt json响应。我需要调用ajax请求时得到的响应。该响应应该在我开始的页面中。但如果不想重定向,请不要重定向。为什么要调用
window.location。如果不想更改窗口位置,请替换
?假设我在X页面上。我调用了那个ajax请求。我被重定向到了“foo”。现在,当foo完成后,“foo”再次重定向到“example”视图。这个示例视图在我的浏览器中给出了响应,即屏幕上的json。我希望json加载到我启动的第X页。我的代码可能是错误的。可以怎么做?很抱歉,问题不清楚:(我想将最后一个json加载到我请求ajax请求的第一个页面。jsonp能解决我的问题吗?