gpt4 book ai didi

php - AngularJS 未发布到 Codeigniter Controller

转载 作者:行者123 更新时间:2023-11-28 13:39:53 25 4
gpt4 key购买 nike

我正在使用 Codeigniter 和 AngularJS。当我使用方法和操作提交 login.php 时,Ci Controller 成功提取发布数据。但是当我尝试使用 Angular 提交表单时,它会崩溃。运行 print_r 时我没有得到任何返回。 app.js 脚本甚至成功地从 cred 中提取值,只是没有发布到 Ci Controller 。有什么想法吗?

登录.php

<form ng-submit="login()">
<fieldset>
<legend>Login</legend>
<label>Type your username and password</label>
<input autofocus ng-model="cred.username" type="text" placeholder="Type your username" required><br>
<input ng-model="cred.password" type="password" placeholder="Type your password" required><br>
<button type="submit" class="btn">Submit</button>
</fieldset>
</form>

app.js

app.factory("AuthenticationService", function($http, $location) {
return {
login: function(cred) {
return $http({
method : 'POST',
url : 'index.php/home/login',
data : cred
});
},
};
});

app.controller('LoginController', function($scope, AuthenticationService) {
$scope.cred = { username: "", password: ""};
$scope.login = function() {
AuthenticationService.login($scope.cred);
};
});

CodeIgniter Controller

public function login() {
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('users');
print_r($_POST);
if ($query->num_rows() > 0) {
$row = $query->row();
echo json_encode(array('isSuccessful' => true));
} else {
echo json_encode(array('flash' => 'Invalid username or password'));
}
}

最佳答案

默认情况下,它可能会将表单作为“请求负载”提交,这会让 CodeIgniter 感到困惑。看看How can I post data as form data instead of a request payload?来看看如何解决这个问题。

关于php - AngularJS 未发布到 Codeigniter Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18543051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com