我正在学习AngularJS,到目前为止,我正在享受这个框架,但是我遇到了一个障碍,我的轮子确实在旋转,我需要一些帮助。
我有一个表单,我想提交给一些服务器端代码,但当它到达服务器端代码时,它表明没有POST数据,更多的是,做一个console.log没有任何帮助,因为每当我添加它,它都不会出现在我的firebug控制台中。我环顾四周,尝试了一切,但我被卡住了。
我的AngularJS代码:
var AdminApp = angular.module('AdminApp', ['ui.router']);
// configure our routes
AdminApp.config(function($locationProvider, $stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/main');
$stateProvider.state('main', {
url: '/main',
templateUrl: 'Content/index.html',
controller: 'mainController'
});
AdminApp.controller('mainController', function($scope, $http) {
$scope.message = 'test';
//load up our notes.
$http.get('Server/companyNotes.php?companyId=1').success(function(data) {
$scope.notes = data;
$scope.loading = false;
});
$scope.processForm = function() {
$http({
url: "Server/addNote.php",
data: $scope.form,
method: 'POST',
headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
}).success(function(data){
alert('sent!');
});
};
});
我的HTML格式:
<form name="addNote" ng-submit="processForm()">
<textarea id="notes" name="notes" ng-model="form.note"></textarea><br>
<input type="hidden" name="companyId" id="companyId" value="1" ng-model="form.companyId">
<input type="hidden" name="added_by" id="added_by" value="Demo User" ng-model="form.added_by">
<button type="submit" class="btn btn-sm btn-primary">Add Note</button>
</form>
我的html标签上安装了ng-app。
我尝试了几件事,让我感到沮丧。我希望有人可以帮助我解决这个问题,因为我必须做错事而不去看。
由于
编辑:似乎Summernote是我的textarea无法正常工作的问题。
答案 0 :(得分:0)
你控制那台服务器吗?这是跨域请求吗?
在您的请求中添加error
例程并检查其结果
$http({
url: "Server/addNote.php",
data: $.param($scope.form),
method: 'POST',
headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
}).success(function(data){
alert('sent!');
})
.error(function(reason){
console.dir(reason);
});
答案 1 :(得分:0)
尝试在服务器端代码中使用它:
$aPost = json_decode(file_get_contents("php://input"), true);
并使用$ aPost变量作为POST数组。
答案 2 :(得分:0)
我想出了我最初的问题。
我使用summernote来允许格式化,但似乎失去了angular的值。
我必须为此寻找另一种工具,但我很高兴我终于超越了这个障碍,感谢所有帮助我的人。