JQuery Post JSON到MVC没有重定向

时间:2012-10-24 19:22:00

标签: asp.net-mvc jquery http-post

我正在尝试加载一个我已经通过一些JSON作为POST的页面。发送JSON并返回页面,但是使用下面的javascript我仍保留在原始页面上。我需要重定向到页面

$("#searchForm").submit(function (event) {
                var jsonObjects = {
                    "SomeJson": "SomeData"
                };

                $.ajax({
                    type: "POST",
                    dataType: "json",
                    async: false,
                    data: JSON.stringify(jsonObjects),
                    beforeSend: function (x) {
                        if (x && x.overrideMimeType) {
                            x.overrideMimeType("application/json;charset=UTF-8");
                        }
                    },
                    url: 'Home'
                });
                event.preventDefault();
            });

这会发布JSON但页面但不会重定向。 “Home”页面将返回浏览器。

由于帖子参数不存在,我无法重定向到主页

我试过没有javascript并使用标准html提交,但似乎无法嵌入JSON

1 个答案:

答案 0 :(得分:1)

如果您发出ajax请求并且服务器以3xx重定向进行响应,则请求所在的页面不会更改。这是因为任何ajax请求都不会改变浏览器中的当前位置,这就是你通常想要使用ajax的原因。

因此,您需要一个可以重定向的成功处理程序。将其传递给$.ajax()来电。

success: function() {
  window.location.href = '/Home'; // or something
}

如果请求成功,会将当前页面更改为您选择的网址。