我有一个允许用户输入键和值的表单,其中包含用于添加新行和删除行的按钮。 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_1
和value_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吗?
答案 0 :(得分:0)
您可以像往常一样使用js $window.location.href = "/yourPage"
或者使用动作将html作为普通表单,如果你想要的话,提交它。
<form action="/yourPage" method="post"></form>