无法从php获取角度的帖子数据

时间:2017-06-13 13:01:52

标签: javascript php angular post

我无法在Angular App中解决我的问题。我已经尝试过这么多,但我无法读出从Angular 4发送的帖子数据的正文。也许有人可以找到问题?真是太好了!

有一项服务,它将数据发送到我的PHP-Api。相关功能如下所示:

login(email: string, password: string): Observable<UserDto> {

    let apiUrl = 'api/v1/login';
    let userAuthDto: UserAuthDto = new UserAuthDto(email, password); 

    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });

    return this.http.post(apiUrl, { email, password }, options)
                    .map(res => res.json())
                    .map(res => console.log(res))
                    .map((data: any) => UserDto.fromJson(data[0]))
                    .do(res => { if (res.auth_success) {
                        localStorage.setItem('auth_token', res.token);
                    }})
                    .catch(this.handleError);
}

我的API中的相关代码如下所示:

header("Content-Type: application/json");

//Get database connection
$db = mysqli_connect("localhost", "******", "********", "*******");
if(!$db) {
    exit("Alert: ".mysqli_connect_error());
}

//Set connection charset to UTF-8
mysqli_set_charset($db, "utf8");

$data = file_get_contents('php://input');
$test = $data;
$resultArray = array();

$sqlQuery = "SELECT id, username FROM user WHERE id = 4";

//Database query
$myresult = mysqli_query($db, $sqlQuery);
while($row = mysqli_fetch_assoc($myresult))
{
    $row['auth_success'] = true;
    $row['test'] = $test;
    $resultArray[]=$row;
}

echo json_encode($resultArray);

那只是为了测试。但问题是无论我做什么file_get_contents('php://input');都是一个空字符串。你知道这是什么问题吗?我正在使用XAMPP。

非常感谢!

1 个答案:

答案 0 :(得分:0)

呀!我明白了!

在试图解决那个狗屎3天后,我明白了!也许有人有同样的问题,所以希望我可以帮助你:

问题是一个字符。

刚刚更改了API-Url:

let apiUrl = 'api/v1/login';

let apiUrl = 'api/v1/login/';

......一切正常!