1

我正在研究 Angular4 项目。

为了测试,首先我已经完成了对任何 json api 的 get 请求,它运行良好。

现在我正在努力连接 php 文件并对其进行测试。在 test.php 我有

echo "string";

现在在控制台中我收到此错误:

XMLHttpRequest 无法加载http://localhost/php-file/test/test.php。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://localhost:4200 ”。

我还附上了它的截图。我已经用谷歌搜索了它,但无法得到任何解决方案。

在此处输入图像描述

然后我编辑了 test.php,如下所示。这样做是否正确?

<?php
      header("Access-Control-Allow-Origin: *");
      $data = ['news','dfdf','ddd'];
      echo  json_encode($data);
?>
4

1 回答 1

0

这就是你需要做的。您还需要在角度中包含标题。

import { Http, Headers, Response, RequestOptions } from '@angular/http';


 headers = new Headers();
      requestOptions = new RequestOptions();
      this.headers.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
      this.headers.append('Cotent-Type', 'application/json');
      this.requestOptions.headers = this.headers;

      return this.http.post("http://localhost/php-file/test/test.php",  this.requestOptions).map‌​(res => res.json());

这就是你应该如何提出发布请求。确保订阅此调用,然后您可以从返回中获取数据。

我希望它有所帮助。

于 2017-09-01T08:03:48.263 回答