【问题标题】:Query MVC controller with Ajax POST then redirect with a model使用 Ajax POST 查询 MVC 控制器,然后使用模型重定向
【发布时间】:2015-01-10 01:34:11
【问题描述】:

假设我想要发布到 MVC 控制器的具有复杂格式(对象列表)的数据,然后我希望该控制器使用它生成的模型将我重定向到我想要的页面。就像来自常规表单的 POST 请求一样。

相反,当我使用 angular 执行此 angular 请求时:

$http({
            method: 'POST',
            url: '/user/search',
            data: $scope.dataToSearch
        }).success(function() {
                // what do put here ?
        })
        .error(function() {

        });
  • 控制器成功接收数据
  • 控制器成功生成我想要的模型
  • 控制器返回 "View("viewWanted", model") 但它不重定向。

我收到的只是状态代码 200,以及我想要的页面的原始 html,而无需将我重定向到这个实际页面。问题是,如果我成功执行“window.location”,我的控制器将不会生成模型,因为我必须发布数据。

总之,如何像使用常规表单一样发布然后重定向,但通常使用 Ajax/Angular/Javascript?谢谢。

【问题讨论】:

  • 通常,如果您使用 Angular,您将创建一个 SPA,因此您不会执行重定向。您应该修改您的控制器以返回结果的 json,然后使用 $scope 属性将其绑定到表

标签: javascript ajax asp.net-mvc angularjs


【解决方案1】:

您可以使用Angular promises 进行返回并等待成功请求。所以,你需要更多的控制器控制,Restangular 更适合这个。

【讨论】:

    猜你喜欢
    • 2017-05-20
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 2014-08-07
    • 2014-12-31
    • 2011-12-16
    相关资源
    最近更新 更多