Android Ionic2 proxyUrl在设备上不工作

Android Ionic2 proxyUrl在设备上不工作,android,ios,ionic-framework,Android,Ios,Ionic Framework,在设备上运行应用程序时,它不会获取api url 它不获取url 我使用了以下代码 { "v2": true, "typescript": true, "proxies": [ { "path": "/api", "proxyUrl": 'api url here' } ] } 请给出任何建议代理服务用于在浏览器中进行测试,以避免在使用外部API时请求的资源上不存在“Access Control Allow Origin”标题。但这在设备

在设备上运行应用程序时,它不会获取api url 它不获取url

我使用了以下代码

{
  "v2": true,
  "typescript": true,
  "proxies": [
    {
      "path": "/api",
      "proxyUrl": 'api url here'
    }
  ]
}

请给出任何建议

代理服务用于在浏览器中进行测试,以避免在使用外部API时请求的资源上不存在“Access Control Allow Origin”标题。但这在设备上不是问题,因此不需要此代理服务。因此,在设备上使用对API url的直接调用,而不是对
http://localhost:8100

如果您想在设备和浏览器上进行测试,只需检查Cordova是否可用(因此您在设备上),然后定义要使用的URL。大概是这样的:

import {Injectable} from '@angular/core';
import {Headers, Http} from '@angular/http';
import {Platform} from 'ionic-angular';
import 'rxjs/add/operator/toPromise';
import ...

@Injectable()
export class AccessService {
    private headers = new Headers({'Content-Type': 'application/json'});
    private apiUrl = '/v1/';

    constructor(private http: Http,
                public platform: Platform) {

        if (this.platform.is('cordova')) {                // <<< is Cordova available?
            this.apiUrl = 'https://api.instagram.com/v1/';
        }
    }

    login(username: string, password: string): Promise<string> {
        let postParams = {
            username: username,
            password: password
        };

        return this.http
            .post(this.apiUrl + 'login', postParams, this.headers)
            .toPromise()
            .then(response => response.json().devicetoken as string)
            .catch(this.handleError);
        }
    }

    ...
}
从'@angular/core'导入{Injectable};
从'@angular/Http'导入{Headers,Http};
从“离子角度”导入{Platform};
导入“rxjs/add/operator/toPromise”;
导入。。。
@可注射()
导出类访问服务{
私有头=新头({'Content-Type':'application/json'});
私有apiUrl='/v1/';
构造函数(私有http:http,
公共平台(公共平台){

如果(this.platform.is('cordova')){//,那么我如何在configAnywhere中设置api url呢?您想在组件、访问服务或常量中设置api url。我用一个更扩展的示例编辑了我的答案(也将其更改为Ionic 2)。希望这能给你一个更好的想法。我只是编了一个例子,没有经过测试。只是给你一个想法。更先进的方法是使用像gradle这样的自动化工具