angularjs를 사용하여 프런트 엔드에서 mysql db로 데이터를 삽입하려고합니다. 그러나 오류 메시지가 없어도 데이터베이스에 삽입되지 않습니다. 다음은 내가 사용하는 코드입니다.angularjs에서 프런트 엔드에서 mysql db에 데이터 삽입
index.html을
<html ng-app="demoApp">
<head>
<title> AngularJS Sample</title>
<script src="js/angular.min.js"></script>
<script src="js/angular-route.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
</head>
<body>
<div class="container" ng-view>
</div>
</body>
</html>
script.js
demoApp.config(function ($routeProvider,$locationProvider) {
$routeProvider
.when('/',
{
controller: 'SimpleController',
templateUrl: 'Partials/view1.html'
})
.when('/view2',
{
controller: 'SimpleController',
templateUrl: 'Partials/view2.html'
})
.otherwise({redirectTo: '/'});
});
demoApp.controller('SimpleController',function ($scope,$http){
$http.post('server/view.php').success(function(data){
$scope.friends = data;
});;
$scope.addNewFriend = function(add){
var data = {
fname:$scope.newFriend.fname,
lname:$scope.newFriend.lname
}
$http.post("server/insert.php",data).success(function(data, status, headers, config){
console.log("inserted Successfully");
});
$scope.friends.push(data);
$scope.newFriend = {
fname:"",
lname:""
};
};
});
View1.html
<div class="container" style="margin:0px 100px 0px 500px;">
Name:<input type="text" ng-model="filter.name">
<br/>
<ul>
<li ng-repeat="friend in friends | filter:filter.name | orderBy:'fname'">{{friend.fname}} {{friend.lname}}</li>
</ul>
<br/>
<fieldset style="width:200px;">
<legend>Add Friend</legend>
<form name="addcustomer" method="POST">
First Name:<input type="text" ng-model="newFriend.fname" name="firstname"/>
<br/>
Last Name :<input type="text" ng-model="newFriend.lname" name="lastname"/>
<br/>
<button data-ng-click="addNewFriend()" name="add">Add Friend</button>
</form>
</fieldset>
<a href="#/view2" style="margin:auto;">Next</a>
</div>
이고 아래 내 PHP 파일
insert.php
<?php
if(isset($_POST['add']))
{
$firsname=$_POST['firstname'];
$laname = $_POST['lastname'];
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("angularjs") or die(mysql_error());
mysql_query("INSERT INTO friends (fname,lname) VALUES ('$firsname', '$laname')");
Print "Your information has been successfully added to the database.";
}
?>
내가 여기 바보 같은 일을하고 있어요 알고있다. 나는 방금 anglejs를 배우기 시작했습니다. db로 삽입하기 위해 일반 html로 PHP 코드를 시도하면 완벽하게 작동합니다. 여기서 내가 잘못하고있는 것을 얻지 못하고 있습니다. 누군가가 나를 도울 수 있기를 바랍니다.
php가 각도를 두지 않고 작동하는 경우 원인으로 값을 줄일 수 있지만 mysql_ * 함수 대신 mysqli_ * 또는 PDO를 사용해야합니다. Chrome 개발자 도구 또는 유사 도구를 사용하여 XHR이 스크립트의 POST를 수행하는 것을 볼 수 있습니까? 그것은 "add"에 대한 가치가 있습니까? 게시물을 "추가"하는 위치를 어디에서 볼 수는 없지만 각도에 익숙하지 않습니다. mysql_ *을 사용하지 않는 이유에 대한 더 많은 정보는 [here] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) – boodle
콜백을 얻을 수 있습니까? 또는 적어도 요청 코드에 대한 응답 코드가 있습니까? –
확실히 _POST [ "add"] 값을 보내지 않으므로 if를 입력하지 않는 것처럼 보입니다. – boodle