我发现很难向laravel api发送http post请求。 GET方法工作正常,但我在谷歌Chrome控制台
中得到以下错误无法加载http://localhost:8000/api/user/auth:响应 预检请求未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许来源“http://localhost:8100” 访问。
我正在寻找解决方案已经有2天了。 我在离子官方博客上找到了一篇帖子https://blog.ionicframework.com/handling-cors-issues-in-ionic/ 但它似乎没有帮助。
由于
这是我的代码
authUser(email, pass) {
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
};
let data = JSON.stringify(
{
"email": email,
"password": pass
}
);
this.http.post(this.API_URL+'user/auth', data, httpOptions).subscribe(data => {
if(data['success']) {
this.user = data['response'];
} else {
this.hasError = data['message'];
console.log(this.hasError);
}
});
}
答案 0 :(得分:3)
我找到了解决方案 我更改了Content-Type:application / json和数据体,下面是示例
authUser(email, pass) {
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded' //updated
})
};
let data = "email="+email+"&password="+pass+""; //updated
this.http.post(this.API_URL+'user/auth', data, httpOptions).subscribe(data => {
if(data['success']) {
this.user = data['response'];
console.log(this.user);
} else {
this.hasError = data['message'];
console.log(this.hasError);
}
});
}