我是Angular的新手,并且正在开发登录身份验证服务,但是我在为CodeIgniter开发的后端制作帖子数据时遇到了一些麻烦。
我要发送:用户名和用户密码到URL:http://192.168.1.162/advance-managemente_2.1/login
遵循我的代码:
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { UserData } from './login/user.model';
@Injectable({
providedIn: 'root'
})
export class AuthService {
constructor(private http: HttpClient) { }
userData: UserData;
getUserDetails(username, userpassword) {
console.log(username, userpassword);
const userdata = JSON.stringify({user: {login: username, password: userpassword}});
const headers = new HttpHeaders({'Content-Type': 'application/x-www-form-urlencoded'});
console.log(userdata);
// post these details to API server return user info if correct.
return this.http.post(`http://192.168.1.162/advance-management_2.0/login`, userdata, {headers: headers, observe: 'response'})
.subscribe(res => {
console.log(res);
},
err => {
console.error(err);
});
}
}
我的控制台: Note: my variables with username and userpassword is working.
在codeigniter的后端项目中设置了以下标头:
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Access-Control-Allow-Origin');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE');
而os codeigniter函数是:
function login(){
$json = $this->input->post('user');
echo json_encode($json);
}
如果您观察到,我的登录功能有一个ECHO,我正在向其发送json_encode。 但是,在控制台中,主体返回NULL。
我想知道我可能在做错什么,以及如何解决它,因为这是他返回JSON的结果,但似乎并不能识别我的POST。
感谢任何可以提供帮助的人, 祝你有美好的一天!