邮递员工作正常Ionic 4时,离子发布请求被cors阻止

时间:2019-04-02 08:36:27

标签: angular cors ionic4

我正在使用角度为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: *");

不确定如何解决它,服务器看起来不错,请求看起来也不错,并且也可以在邮递员中使用,只是永远无法在移动应用程序上使用。

1 个答案:

答案 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');