index.html
<html>
<body>
<html ng-app="myApp">
<body ng-controller="personController">
<button ng-click="addNewClicked=!addNewClicked;" >Add New person</button>
<form ng-init="addNewClicked=false; " ng-if="addNewClicked" id="newPersonForm" >
<input type="text" ng-model="input.firstname" placeholder="Add New firstname" ng-focus="addNewClicked">{{input.firstname}}
<input type="text" ng-model="input.lastname" placeholder="Add New last name" ng-focus="addNewClicked">{{input.lastname}}
<button type="submit" ng-click="addPerson(input)">Add New person</button>
</form>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="app/app.js"></script>
</body>
应用.js
var app = angular.module('myApp', []);
app.controller('personController', function($scope, $http) {
$scope.addPerson = function (input) {
$http.post("ajax/addPerson.php? firstname="+firstname+"$lastname="+lastname).success(function(data){
});
};
});
添加人员.php
<?php
require_once '../includes/db.php'; // The mysql database connection script
if(isset($_GET['firstname'])){
$firstname = $_GET['firstname'];
$lastname=$_GET['lastname'];
$query="INSERT INTO persons(firstname,lastname) VALUES ('$firstname','$lastname')";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
$result = $mysqli->affected_rows;
echo $json_response = json_encode($result);
}
?>
数据库.php
<?php
$DB_HOST = '127.0.0.1';
$DB_USER = 'root';
$DB_PASS = '';
$DB_NAME = 'angularcode_person';
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
?>
作为初学者,我不知道如何将参数存储到数据库中。我想将参数 firstname 和 lastname 存储到数据库中。为此,使用 ng-click 函数 addperson()。
不知道你遇到的问题,我只能猜测。
无需通过函数发送输入值,您可以在角度控制器中使用$scope
。
为了能够访问名字和姓氏值,您必须将模型名称从input.firstname
和input.lastname
更改为仅firstname
和lastname
删除ng-click="addPerson(input)"
中的input
参数
然后,在您的 javascript 文件中更改函数以使用 $scope
,如下所示:
$scope.addPerson = function () {
$http.post("ajax/addPerson.php?firstname="+$scope.firstname+"&lastname="+$scope.lastname).success(function(data){
console.log("Success")
});
};