角向代码点火器返回NULL

时间:2019-01-14 18:28:48

标签: php json angular codeigniter

我是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。

感谢任何可以提供帮助的人, 祝你有美好的一天!

0 个答案:

没有答案