【问题标题】:how to unblocked by CORS policy如何解除 CORS 策略的阻止
【发布时间】:2019-02-07 13:29:06
【问题描述】:

我在注册页面的 post 方法中尝试了 apiurl...

import { Injectable } from '@angular/core';
import { Http, Headers, HttpModule } from '@angular/http';
import 'rxjs/add/operator/map';

  let apiUrl = 'http://aaaaa.in/outfit/index.php/api/v1/';

  @Injectable()
 export class AuthServiceProvider {

   constructor(public http: Http) {
   console.log('Hello AuthServiceProvider Provider');
 }
 public register(data){
  return new Promise((resolve, reject) => {
  let headers = new Headers();
  alert('11');
    headers.append('Content-Type', 'application/json');
    headers.append('Access-Control-Allow-Origin', '*');
     headers.append( 'Access-Control-Allow-Headers', 'Authorization, Content-Type' );

    //headers.append('Access-Control-Allow-Origin', 
 'http://localhost:8100');
 //headers.append('Access-Control-Allow-Credentials', 'true');

    alert(apiUrl);
    this.http.post(apiUrl+'account', JSON.stringify(data), {headers: headers})

      .subscribe(res => {
        resolve(res.json());
       alert(Response);
      }, (err) => {
        reject(err);
      });
});

  }

} 

它显示这样的错误...“从源 'http://localhost:8100' 访问 XMLHttpRequest 在 'http://localhost:8100' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有HTTP 正常状态。”

提前谢谢..

【问题讨论】:

    标签: ionic-framework ionic2 ionic3 ionic-native


    【解决方案1】:

    您是否尝试在 chrome 上运行该应用程序?如果您在 chrome 上运行该应用程序,它通常会发生,我什至不知道为什么,但如果您在实际设备上尝试它,它工作正常。我遇到了同样的问题,并在 Allow-Control-Allow-Origin 的 chrome 扩展的帮助下克服了它。我不知道是否有适当的方法来解决这个问题,但这可能会对您有所帮助?

    【讨论】:

      【解决方案2】:

      方法一: 在 chrome 中安装“Allow-Control-Allow-Origin”扩展以解决此问题以进行开发。

      方法二: 您需要更改 ionic.config.json

      中的一些行
      {
        "name": "foresight",
        "app_id": "47182aef",
        "type": "angular",
        "integrations": {
          "cordova": {}
        },
        "proxies": [
          {
            "path":"/account",
            "proxyUrl": "https://api-foresight.castingapi.in/account"
          }
        ]
      }
      

      您可以使用以下代码调用您的外部服务

      headers = new Headers({'key': '12345678'});
      options = new RequestOptions ({headers: this.headers}); 
      return this.http.get('/account/?fields=name', this.options)
      

      在对 ionic.config.js 进行更改后,请记住到 ionic serve 或 ionic lab

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-14
        • 2019-04-17
        • 2020-09-11
        • 2021-04-16
        • 2018-02-26
        • 2019-11-19
        • 2020-09-12
        • 2022-01-14
        相关资源
        最近更新 更多