将数据发送到我的控制器时出现问题。这是我的看法无法从输入角度看控制器中的数字
<form ng-submit="submitMessage()">
<div class="form-group">
<input type="number" class="form-control input-sm" name="id_user" ng-model="messageData.id_user" value={{currentUser.id}} >
</div>
<div class="form-group">
<input type="number" class="form-control input-sm" name="id_thread" ng-model="messageData.id_thread" value={{messages[0].id_thread}}>
</div>
<!-- COMMENT TEXT -->
<div class="form-group">
<input type="text" class="form-control input-lg" name="message" ng-model="messageData.text" placeholder="Write your message">
</div>
<!-- SUBMIT BUTTON -->
<div class="form-group text-right">
<button type="submit" class="btn btn-primary btn-lg submit-btn">Submit</button>
</div>
</form>
,这是我的控制,我在那里我的数据发送到:
angular.module('messageCtrl', []).controller('messageController', function($scope, $http, Message, $stateParams) {
// object to hold all the data for the new comment form
$scope.messageData = {};
//get id from route
var id = $stateParams.id;
// get all the comments first and bind it to the $scope.comments object
// use the function we created in our service
// GET ALL COMMENTS ==================================================
Message.get(id).then(successCallback);
function successCallback(data) {
$scope.messages = data.data;
}
// function to handle submitting the form
// SAVE A COMMENT =====================================================
$scope.submitMessage = function() {
// save the comment. pass in comment data from the form
// use the function we created in our service
console.log($scope.messageData);
Message.save($scope.messageData).then(successCallback2, errorCallback);
function successCallback2(getData) {
$scope.messages = getData.data;
Message.get(id).then(successCallback);
}
function errorCallback(data) {
console.log(data);
}
};
});
我有一个的console.log()在控制器中可以查看正在发送的是什么数据和只有文本被发送。我试图将前两个输入隐藏起来,并在其中有价值。它基本上是向线程发送评论,所以它包含线程的用户和标识的id。我不希望它们可见,但我需要将它们发送给控制器。当我输入的数字manualy,它工作正常,但是当我有它的价值=“”属性,我得到这个错误控制台:
angular.js:3505 The specified value "{{messages[0]['id_thread']}}" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
angular.js:3505 The specified value "{{currentUser.id}}" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
我不明白,因为当我打开开发工具并看看它的价值,它就像一个数字。而当
好的,所以我删除了值属性。然后在发送文本值时,我在控制器本身中添加了所需的id。我在localStorage中有用户标识,线程标识在URL中 – Arcane