Php 否';访问控制允许原点';请求的资源上存在标头。原产地';http://localhost:4200' 因此不允许访问

Php 否';访问控制允许原点';请求的资源上存在标头。原产地';http://localhost:4200' 因此不允许访问,php,json,cors,angular2-services,Php,Json,Cors,Angular2 Services,在我的angular项目中,我正在调用RESTAPI,但当我调用时,我得到了cors错误。我试图添加标题,但我无法解决。itride几乎无法解决所有问题 如何在angular 2中添加cors(请提供完整的导入和代码) 我是否必须在服务器中的restapi页面中启用代码 请参阅我的angular2项目,该项目位于localhostL:4200中 import {Injectable} from '@angular/core'; import 'rxjs/Rx'; import { Http ,

在我的angular项目中,我正在调用RESTAPI,但当我调用时,我得到了cors错误。我试图添加标题,但我无法解决。itride几乎无法解决所有问题

如何在angular 2中添加cors(请提供完整的导入和代码) 我是否必须在服务器中的restapi页面中启用代码

请参阅我的angular2项目,该项目位于localhostL:4200中

import {Injectable} from '@angular/core';
import 'rxjs/Rx';
import { Http , Response, Headers, RequestOptions } from'@angular/http';
import {Observable} from 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';

import 'rxjs/add/observable/throw';

@Injectable()
 export class LoginService {
 constructor(private _http:Http){}

  getCurrentTime(){
 var header = new Headers();
 header.append('contentType','application/json; charset=utf-8');
 header.append('Accept','application/json');
 header.append('Access-Control-Allow-Origin', '*');
var option = new RequestOptions();
 option.headers = header;
 return 
this._http.get('http://is.com/equityjs.php',option)
.map(res=>res.json());

 }

}
还有我的php页面

    <?php
  include_once 'config.php';
$connection = mysql_connect($servername, $username, $passwd)or die("not 
   comnnection"); // Establishing Connection with Server
mysql_select_db($db); // Selecting Database from Server

$result=mysql_query("SELECT * FROM equity ORDER BY MONTH(Date) DESC, DAY(DATE) DESC ,TIME(DATE)");
$response["equty"] = array();  

    while($row = mysql_fetch_assoc($result))    {

        $stuff= array();

        /* ADD THE TABLE COLUMNS TO THE JSON OBJECT CONTENTS */
        $bse["title"] = $row['title'];
         $bse["string"] = $row['equity_string'];
         $bse["date"] = $row['date'];
        $bse["target"]=$row['target'];
            $bse["target2"]=$row['target2'];
          $bse["bse_id"]=$row['bse_id'];
        $bse["stoploss"]=$row['stoploss'];
            $bse["position"]=$row['selectreq'];
        $bse["timeframe"]=$row['timeframe'];
        $bse["status"]=$row['status'];
        array_push($response["equty"], $bse);

        // $response[] = $row;
    }
    // success

    echo(json_encode($response));


/* CLOSE THE CONNECTION */
  mysql_close();
?>

您必须在服务器端允许origin,请在代码中尝试以下操作:

 <?php
 header("Access-Control-Allow-Origin: *");

仅此代码就足够了,否则我必须开门,我必须从angular tooThis发送heder,因为“*”代码允许CORS处理任何请求。您可以在Angular代码中声明原点,并限制仅允许此请求的响应。有关CORS的更多详细信息,请阅读: