如何发布表单并以角度更改页面?

时间:2015-12-08 23:17:39

标签: angularjs

我有一个允许用户输入键和值的表单,其中包含用于添加新行和删除行的按钮。 Key和Value对是json对象。所有这些键/值对都存储在一个数组中。

我想提交此表单并以JSON格式将此数据发送到后端,然后转到新页面,就像常规的常规表单一样。我不想使用AJAX。

例如,一个常规HTML表单,可以在没有AJAX的情况下将数据发送到后端:

<form action="/path/to/page" method="POST">
    <input name="key_1" /> <input name="value_1"><br />
    ...
    <button type="submit">
</form>

上述方法存在的问题是,我的后端需要从key_1value_1解析出_1,以便知道它们是匹配在一起的。我想使用JSON来改善后端不必执行此操作。

目前我的代码如下:

angular.module('myApp', []).controller('myApp', ['$scope', '$http', function($scope, $http) {
    $scope.pairs = [{'key': 'foo', 'value': 'bar'}];
    $scope.submit = function() {
        $http.post('path/to/page/', JSON.stringify({'fields': $scope.pairs}))
        .then(function successCallback(response) {
            console.log("Success");
        });
    }
}

然而,这是使用AJAX调用请求而不是更改页面。

我可以使用Angular提交常规的非ajax表单,以便我可以向后端发送JSON吗?

1 个答案:

答案 0 :(得分:0)

您可以像往常一样使用js $window.location.href = "/yourPage"

更改网址

或者使用动作将html作为普通表单,如果你想要的话,提交它。

<form action="/yourPage" method="post"></form>