请求的资源上不存在'Access-Control-Allow-Origin'标头。因此不允许访问源'http://localhost:4200'



在我的角度项目中,我正在调用 rest api,但是当我调用时,我收到 cors 错误 .我试图添加标头,但我无法解决 . itride 全部但未能解决。

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

查看我的 Angular2 项目,该项目在本地主机L: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: *");

最新更新