我最近開始使用Ionic開發應用程序。由於我更熟悉MySQL的後端解決方案,我想要做的是:從表單提取證書並將它們發送到MAMP服務器上的php文件。該文件將檢查帳戶是否存在並作出迴應。Ionic:無法將表單數據發送到MAMP服務器上的php
這裏的形式:
<form name="loginForm" novalidate> <!-- ng-submit="LogIn(loginForm)" -->
<div class="section-big">
<div id="logo_container">
<img src="img/Logo.png" id="logo">
</div>
<div id="login_container">
<input class="login_item" name="email" type="email" ng-model="userdata.email" placeholder="email" ng-minlength="5" required>
<input class="login_item" name="password" type="password" ng-model="userdata.password" placeholder="password" ng-minlength="5" required>
</div>
</div>
<span> {{responseMessage}} </span>
<div class="section-small">
<button type="button" class="button button-full button-outline button-light login-inactive" ng-show="loginForm.$invalid">LOGIN</button>
</div>
</form>
在離子控制器的功能:
$scope.logIn = function(userdata) {
$scope.responseMessage = "in treatement";
console.log($scope.userdata.email)
var request = $http({
method: 'post',
url: 'http://localhost:8888/login.php',
crossDomain: true,
headers: {'Content-Type' : 'application/x-www-form-urlencoded'},
data: {
email: $scope.userdata.email,
password: $scope.userdata.password
},
});
console.log("passed");
request.success(function(data) {
if(data == "1"){
$scope.responseMessage = "Login Successful";
}
else {
$scope.responseMessage = "Wrong credentialsemai";
}
});
console.log("end reached");
}
的login.php中的文件(根據我的調查結果StackSkills):
<?php
header("Content-Type: application/json; charset=UTF-8");
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$password = $request->password;
include_once 'dbconnect.php';
$request = "SELECT * FROM User WHERE email ='$email' AND password = '$password'";
$result = $conn->query($request);
if($result){
echo "1";
}
else {
echo "0";
}
?>
事物狀態: Currentl y,logIn函數被觸發。由於{{ responseMessage }}
不會改變,我假設這些信息沒有被髮送/不會從`login.php返回。
有沒有人有一個想法來解決這個問題或替代仍然使用離子到PHP的MySQL?
編輯:
的數據被檢索,但我還是無法把它由於以下錯誤: SyntaxError: Unexpected token N
謝謝!
是啊...一個空的對象'$ scope.userdata = {};' – Hackerman
@Hackerman,呀空對象,這是一個測試的一部分:如果它在那裏,我得到「未定義」,否則「無法讀取未定義的屬性電子郵件...... .. – TanguyH
看,你是declarin的空對象,正確...在下面的行中,你試圖訪問一個不存在的屬性...這就是爲什麼你得到未定義....現在,你確定你要添加'ng-controller'指令給你的html嗎? – Hackerman