AngularJS POST提交无效

时间:2014-05-27 13:24:49

标签: php jquery

我正在学习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无法正常工作的问题。

3 个答案:

答案 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的值。

我必须为此寻找另一种工具,但我很高兴我终于超越了这个障碍,感谢所有帮助我的人。