使用angular将表单提交到php文件

时间:2015-08-25 12:42:05

标签: php angularjs

我想将表单提交到php文件



var myApp = angular.module('myApp',[]);
myApp.controller('FormController', function($scope, $http) {
  $scope.task = {
    group: 'fix',
    showme: true,
    select1: 'basique',
    select2: 'micro',
    select3: '1',
    select4: '1',
    select5: 'jour'
  };
  
  var server = 'http://localhost/myserver.php?cd=add';
  var parameters;
  
  $scope.submit = function(form) {
    angular.forEach($scope.task, function(value, key) {
      if(value) {
        if(key === 'date') {
          value = new Date(value).getTime();
        }
        parameters += '&'+key+'='+value;
      }
    });
    console.log(server+parameters);
    //$http.post(server+parameters)
    //.success(function(result) {
    //  console.log("success", result);
    //})
    //.catch(function(error) {
    //  console.log("error", error);
    //})
  }
})




这是codpen codepen 这有效吗?

结果应为http://localhost/myserver.php?cd=add'name='&'describe='

1 个答案:

答案 0 :(得分:1)

您使用foreach()创建查询字符串,然后使用服务器URL传递。你使用$ http.post()。如果你想通过服务器URL传递,你必须使用$ http.get()。

以下帮助

示例
$scope.submitForm = function($valid)
{ 
    myobject = {'email' : $scope.user.email, 'pass' : $scope.user.pass};
    Object.toparams = function ObjecttoParams(obj)
    {
        var p =[];
        for (var key in obj)
        {
            p.push(key + '=' + encodeURIComponent(obj[key]));
        }
        return p.join('&');
    };

    $http({
        url: WSURL + '/login',
        method: "POST",
        data: Object.toparams(myobject),
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    }).success(function (data, status, headers, config) 
    {

    }
    }).error(function (data, status, headers, config) 
    {

    });
}