Как да запазите стойности на данни от формуляр в angularjs с помощта на безмаслена рамка

Опитвам се да запазя данни в sql, използвайки безмаслена рамка. използвах предния край в angularjs. изпращам данни с помощта на бутона за angular ng-submit. ajax Публикувайте данни, но не получавате мазнини, моля, решете този проблем. нов съм в без мазнини.

here is my html code:

<form id="userRegister" name="registration" ng-submit="register1(formData)" ng-controller="Ctrl1">  
     <div class="sf-steps-form sf-radius"> 
        <div class="sf_columns column_3">
          <input ng-model="formData.email" id="email"  type="email"  name="email" placeholder="Email*"  data-required="true" >
        </div>
        <div class="sf_columns column_3">
            <input ng-model="formData.password" id="password" type="password" name="password" placeholder="Secret Word*"   data-required="true" >
        </div>
    </div>
    <button type="submit" id="sf-next" class="sf-button">Save</button>
</form>  


here is my app.js code:

sampleApp.controller("Ctrl1", function($scope, $http) {
    $scope.formData = {};
    $scope.register1 = function() {
        console.log($scope.formData);
    $http({
      method  : 'POST',
      url     : 'addstep',
      data    : $scope.formData, 
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
     })
      .success(function(data) {
        if (data.errors) {
           $scope.errorEmail = data.errors.email; 
          $scope.errorPassword = data.errors.password;
        } else {
          $scope.message = data.message;
        }
      });
    };
});

here is my idex.php fat free framework code:

    $f3->route('GET|POST /addstep',
    function($f3) {  

        //print_r($f3);
        $users = new DB\SQL\Mapper($f3->get('DB'),'user');

        $users->copyFrom('POST');
        $users->save();
        $f3->set('content','step1.htm');
        echo View::instance()->render('layout.htm');
    }
);

The ajax post data properly but not save in db please help.

person Lokendra Singh Panwar    schedule 30.11.2015    source източник


Отговори (2)


Проверете $f3->get('BODY'); Може да се наложи да json_decode;

Най-вероятно данните се изпращат чрез PUT

person Njuguna Mureithi    schedule 01.12.2015

Всъщност току-що се занимавах с това в приложение, използващо f3 и angular. Ако не сте го разбрали, постигнах доста успех с това:

Имам ъглова $http услуга:

angular.module('myApp')
.service('apiConnector', function apiConnector($http) {

    var apiBase = '';

    var obj = {};

    obj.get = function(q) {
        return $http.get(apiBase + q).then(function(results) {
            return results.data;
        });
    };
    obj.post = function(q, object) {
        return $http.post(apiBase + q, object).then(function(results) {
            return results.data;
        });
    };
    obj.put = function(q, object) {
        return $http.put(apiBase + q, object).then(function(results) {
            return results.data;
        });
    };
    obj.delete = function(q) {
        return $http.delete(apiBase + q).then(function(results) {
            return results.data;
        });
    };

    return obj;

});

След това използвам тази услуга в моите ъглови контролери така:

angular.module('myApp')
  .controller('homeController',function($scope, $state, $stateParams, $timeout, apiConnector){

    $scope.user = {};

    apiConnector.get('/api/users/'+$stateParams.id)
      .then(function(res){
        if (res.success) {
          $scope.user = res.data;
        }
      },function(err){
        console.log(err);
      });

    $scope.updateUser = function(user) {
      apiConnector.post('/api/users/'+$stateParams.id,user)
        .then(function(res){
          if (res.success) {
            alert('updated');
          }
        }, function(err){
          console.log(err);
        });
    };

  });

И накрая f3 контролера. Използвам [maps] за моите маршрути, за да получа наистина спокоен интерфейс, а моите маршрути използват параметър @id. Събирам данни така:

class Item {
  function get($app,$params) {
    $id = $params['id'];
    $user = new \Models\User();
    $user->load(array('id = ?',$id));
    echo json_encode($user->cast());
  }
  function post($app,$params) {
    $POST = json_decode(file_get_contents('php://input'));
    $id = $params['id'];
    $user = new \Models\User();
    $user->load(array('id = ?',$id));
    $user->copyfrom($POST);
    $user->touch('created');
    $user->save();
    echo json_encode(array('message' => 'Successfully updated user!'));
  }
  function put() {}
  function delete() {}
}

Надявам се това да помогне!

person Grant Rowley    schedule 08.06.2016