javascript – jQuery Ajax和服务器的重定向响应

我有一种情况,我发送 jquery ajax post请求,但在我的Web应用程序中,此特定ajax请求的处理程序(处理post参数后)将调用一个控制器中的操作(不确定这是否称为重定向),这基本上呈现整个网站页面(如页面刷新).但我注意到浏览器会显示相同的页面,而不是刷新新页面内容.

有什么不对?我该如何处理这种情况?

我不得不编辑我的问题因为我改变了我的ajax调用.

这就是代码的样子:

function chkSubmit(event,actionType) {


        var msgid = showlst('Please wait ...');
        var data = ''
        if (actionType == 'IAmDone') {
            var letters = 'e,b,c'

            data = 'actionType=' + actionType + '&letters=' + letters;

        } else data = 'actionType=' + actionType;
        $j.ajax({
            type: 'POST',url: context + '/app/handleChk',data:  data
        });

        return false;
}

单击页面上的按钮时,将运行上述功能.但同样的页面继续显示.浏览器调试器显示它确实从它应该刷新页面的新操作接收到200 OK响应.我使用的是Chrome浏览器和jquery 1.6.1

对不起我的代码示例中的拼写错误.我纠正了.

解决方法

服务器无法从ajax请求进行重定向.最后,ajax涉及客户端(浏览器).如果你想重定向你可以做到,但它必须在客户端,在回调中完成.您可以通过从包含要重定向到的URL的服务器返回一个对象来实现这一点 – 然后您可以使用javascript来更改文档的位置属性.我认为如果你没有在所有情况下重定向,或者你的服务器端调用一个长时间运行的过程,这将是有意义的.如果不是这种情况那么ajax调用可能首先没有意义.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...