我正在使用角度为7的离子4。有一个发帖请求会不断触发以下错误,但是当我在Postman中测试此发帖请求时,它会正常工作:
从原点“ https://examplecode/backend/”到“ http://localhost”的XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:否'访问控制-Allow-Origin'标头出现在请求的资源上。
我的帖子请求:
import { HttpClient, HttpHeaders } from '@angular/common/http';
...
sendCodeToServer(data) {
this.http.post(endpoindURL, data, {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
}).toPromise().then(
(data) => {
console.log(data);
}).catch((err) => {
console.log(err);
});
我要发送的就是这个{“ id”:1111111}。 正如我所说的,它在Postman上运行良好,但是在我的应用程序中,我不断收到错误消息。服务器已经采取了多种措施,因此不会发生
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header("Access-Control-Allow-Methods: POST");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
}
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: *");
不确定如何解决它,服务器看起来不错,请求看起来也不错,并且也可以在邮递员中使用,只是永远无法在移动应用程序上使用。
答案 0 :(得分:0)
我与Ionic一起使用的PHP标头。希望这会有所帮助。
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: *');
header('Access-Control-Allow-Headers: Content-Type');
header('Content-Type: application/json');