2017-08-16 58 views
0

在我的角度项目中,我打电话给休息API,但是当我打电话时,我得到Cors错误。我试图添加标题,但我无法解决。 itride一切,但未能解决。请求的资源上不存在“Access-Control-Allow-Origin”头。因此不允许访问'http:// localhost:4200'访问

如何添加CORS在角2(请提供compleate进口和代码) 我应该有我的RESTAPI页这是在服务器

看到我angular2项目enablecode这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(); 
?> 

回答

1

您必须允许起源于服务器端,试试这个在您的代码:

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

好吧,我会尽量thankes – androidking

+0

仅此代码是不够或者我必须门口,我不得不从角度太 – androidking

+0

此代码使赫德发送由于“*”,任何请求的CORS。您可以在Angular代码中声明原点,并限制仅允许此请求的响应。有关CORS的更多详细信息,您应该阅读:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS – Saleiro

相关问题