Javascript 无法使用Slim REST在AngularJS上添加新输入
我无法使用Slim PHP Rest服务和Angular JS添加新项目,如何将其添加到数据库中 下面是我的代码: Slim REST服务代码 //函数添加单个位置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
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}}
对于角度零件,您有一个很好的示例:
对于纤细的部分来说,这是一个很好的例子
我希望,我帮助过你