这是我的 Controller ,它将登录表单发送到 php 文件:
blog.controller('AdminController',['$scope','$http','auth',function($scope,$http,auth) {
$scope.submitButtonDisabled = false;
$scope.admin;
$scope.password;
$scope.resultMessage;
$scope.formData;
$scope.submitted = false;
$scope.submit = function(loginform){
$scope.submitted = true;
$scope.submitButtonDisabled = true;
if(loginform.$valid){
$http({
method: 'POST',
url: 'blog.php',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: $.param($scope.formData)
}).success(function(data){
console.log(data);
if(data.success){
$scope.submitButtonDisabled = true;
$scope.admin = data.admin;
$scope.password = data.password;
auth.login($scope.admin,$scope.password);
}else{
$scope.submitButtonDisabled = false;
$scope.resultMessage = data.message;
$scope.result = 'bg-danger';
}
});
}else{
$scope.submitButtonDisabled = false;
$scope.resultMessage = "Por favor introduzca todos los campos";
$scope.result = "bg-danger";
}
}
}]);
但是当我尝试登录时,它没有执行任何操作,调试浏览器向我显示代码 php:
<?php
/**
* Created by PhpStorm.
* User: promodominus
* Date: 15/09/14
* Time: 18:05
*/
error_reporting(E_ALL);
ini_set('display_errors','1');
if(isset($_POST['inputAdmin']) && isset($_POST['inputPassword'])){
if(empty($_POST['inputAdmin']) && empty($_POST['inputPassword'])){
$data = array('success' => false, 'message' => 'Falta administrador o contraseña por poner, por favor pongalo');
echo json_encode($data);
exit;
}
try{
$conn = new MongoClient();
$bd = $conn->blog;
$coleccion = $bd->logo;
$c_admin = array('admin'=>$_POST['inputAdmin']);
$cursor = $coleccion->find($c_admin);
$v_admin = $cursor->count();
$c_password = array('password'=>$_POST['inputPassword']);
$cursor = $coleccion->find($c_password);
$v_password = $cursor->count();
if($v_admin == 1 && $v_password == 1){
$data = array('success' => true, 'admin' => $_POST['inputAdmin'], 'password' => $_POST['inputPassword']);
echo json_encode($data);
}else{
$data = array('success' => false, 'message' => 'El usuario o la contraseña no es correcta');
echo json_encode($data);
}
}catch(MongoConnectionException $e){
die('Error al conectar con la base de datos');
$data = array('success' => false, 'message' => 'Error al conectar con la base de datos');
echo json_encode($data);
}catch(MongoException $e){
die('Error: '.$e->getMessage());
$data = array('success' => false, 'message' => 'Error:'.$e->getMessage());
echo json_encode($data);
}
}else{
$data = array('success' => false, 'message' => 'Por favor comprueba que esten rellenos los campos antes de logearse');
echo json_encode($data);
}
我认为问题可能是我没有在我的 apache 服务器中安装一些库(我的操作系统是 Manjaro Linux)或者它无法从本地主机发送表单,但我不知道。
最佳答案
最后的问题是我使用的是带有IDE Webstorm的环境,但它在本地主机中运行正常。嗯,这是一个使用 AngularJS、PHP 和 MongoDB 创建登录表单的示例:)
关于php - 我无法将带有 angularJS 的登录表单发送到 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25864455/