1
我想通過POST方法使用Angular.js發送兩個輸入值,但我無法在URL上傳遞這些值,甚至無法在服務器端捕獲它們。 有人可以幫我解決這個問題嗎?使用POST方法使用Angular.js發送輸入值
對於每個按鈕我需要通過兩個值+按鈕值(operacao)
表
<form id="form" ng-controller="Controller">
<input id="val1" name="val1" ng-model="val1" placeholder="Valor 1" type="text">
<input id="val2" name="val2" ng-model="val2" placeholder="Valor 2" type="text">
<input id="operacao" name="operacao" type="hidden" value="0">
<input id="soma" type="button" value="soma" ng-click="doClick(val1, val2)">
<input id="sub" type="button" value="sub">
<input id="mult" type="button" value="mult">
<input id="divs" type="button" value="divs">
<input id="resultado" type="text">
</form>
控制器
.controller("Controller", function($scope, operacaoService) {
$scope.model = {};
$scope.doClick = function(operacao) {
$scope.model.operacao = operacao;
operacaoService.postOperacao($scope.model)
.success(function(data, status) {
$scope.valores = data.result;
console.log(data.result);
})
.error(function(data, status) {
console.log("erro", status);
});
};
})
服務
module.factory('operacaoService', function($http) {
var postOperacao = function(model) {
return $http({
url: "/operacoes",
method: "post",
params: model
});
};
return {
postOperacao: postOperacao
};
});
服務器(Node.js的)
app.post('/operacoes', function(req, res) {
var valores = req.query;
var val1 = parseInt(valores.val1);
var val2 = parseInt(valores.val2);
var operacao = (valores.operacao);
var result;
if (operacao === "soma") {
result = val1 + val2;
res.send({
result: result,
val1: val1,
val2: val2,
operacao: operacao
});
}
}