0

我正在尝试加载一个页面,该页面已将一些 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 但页面但不会重定向。页面“主页”返回到浏览器。

成功后我无法重定向到主页,因为不会出现帖子参数

我尝试在没有 javascript 的情况下执行此操作并使用标准 html 提交,但似乎无法嵌入 JSON

4

1 回答 1

1

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

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

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

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

于 2012-10-24T19:29:11.123 回答