Javascript 无法使用Slim REST在AngularJS上添加新输入

Javascript 无法使用Slim REST在AngularJS上添加新输入,javascript,php,angularjs,rest,slim,Javascript,Php,Angularjs,Rest,Slim,我无法使用Slim PHP Rest服务和Angular JS添加新项目,如何将其添加到数据库中 下面是我的代码: Slim REST服务代码 //函数添加单个位置 function AddLocation() { $app = \Slim\Slim::getInstance(); // $request = Slim::getInstance()->request(); $location = json_decode($request->getBo

我无法使用Slim PHP Rest服务和Angular JS添加新项目,如何将其添加到数据库中

下面是我的代码: Slim REST服务代码 //函数添加单个位置

function AddLocation()
{  
   $app = \Slim\Slim::getInstance(); 

   //
    $request = Slim::getInstance()->request();
   $location = json_decode($request->getBody()); 
   $sql = "INSERT INTO locations (location_title, location_latitude, location_longitude') VALUES (:location_title, :location_latitude, :location_longitude)"; 
   // 
    try { 
      $db =  conn_db(); 
      $stmt = $db->prepare($sql); 
      $stmt->bindParam("location_title", $location->location_title);
        $stmt->bindParam("location_latitude", $location->location_latitude); 
        $stmt->bindParam("location_longitude", $location->location_longitude); 


        $stmt->execute();
        $location->location_id = $db->lastInsertId();
        $db = null;
        echo json_encode($location); 

    } catch (PDEOxception $e) { 

        echo 'Error';   
    } 

} 
角JS代码

//CONTROLLER == add new page 
    countryApp.controller('AddNew', function($scope, $http, $location) { 

        $scope.master = {}; 
        $scope.activePath = null; 

        $scope.add_new = function(location, AddNewForm) { 
            $http.post('http://localhost/slimtest2/add_location', location).success(function() { 
                $scope.reset(); 
                $scope.activePath = $location.path('/'); 

            }); 

            $scope.reset = function() { 
               $scope.location = angular.copy($scope.master);  
            }; 

            $scope.reset(); 
        }; 
    }); 
以下是一个例子:

$app = new \Slim\Slim();
...
$app->post('/products', function() use ($app) { 
    $data = json_decode($app->request->getBody());
    $mandatory = array('name');

    global $db;
    $rows = $db->insert("products", $data, $mandatory);
    if($rows["status"] == "success")
        $rows["message"] = "Product added successfully.";
    echoResponse(200, $rows);
});
function echoResponse($status_code, $response) {
    global $app;
    $app->status($status_code);
    $app->contentType('application/json');
    echo json_encode($response, JSON_NUMERIC_CHECK);
}

$app->run();
角代码调用函数

$scope.saveProduct = function (product) {
...
Products.post('products', product).then(function (result) {
  if (result.status != 'error') {

    console.log(result);


    var x = angular.copy(product);
    x.save = 'insert';
    x.id = result.data;
    $modalInstance.close(x);
  } else {
    console.log(result);
  }
});
...
和模板

 <form name="product_form" class="form-horizontal" role="form" novalidate>

<form-element label="NAME" mod="product">
  <input type="text" class="form-control" name="name" placeholder="NAME" ng-model="product.name" ng-disabled="product.id" focus/>
</form-element>

<form-element label="DESCRIPTION" mod="product">
  <textarea class="form-control" name="description" placeholder="DESCRIPTION" ng-model="product.description">{{product.description}}</textarea>
</form-element>
...
<button ng-click="saveProduct(product);"
        ng-disabled="product_form.$invalid || enableUpdate"
        class="btn btn-sm btn-primary"
        type="submit">
  <i class="ace-icon fa fa-check"></i>{{buttonText}}
</button>

{{product.description}}
...
{{buttonext}}
对于角度零件,您有一个很好的示例: 对于纤细的部分来说,这是一个很好的例子

我希望,我帮助过你