Aurelia Web 应用程序调用 Azure 移动服务 API 端点

Aurelia web application calling azure mobile services API endpoint

我正在创建一个将使用 API 的 Aurelia Web 项目。 API 作为 Azure 移动服务提供。我知道我需要将 X-ZUMO Auth header 添加到请求中。但是,当我实例化我的 http 客户端时,根据浏览器开发 tools.When,header 永远不会达到请求 headers 我 运行 在我的应用程序中,我是出现了一个登录屏幕,我认为是因为 X-ZUMO header 不存在,所以该应用程序没有 运行 的权限。我正在 运行 使用 gulp 为我设置 Web 应用程序的本地实例。我也尝试了外部IP地址。

这是我的 class:

import {HttpClient} from 'aurelia-http-client';

export class WebApi
{
static inject = [HttpClient];
constructor(http)
{
    this.http = http;
    this.baseUrl = 'https://myProject.azure-mobile.net/';
    this.zumoHeader = 'X-ZUMO-APPLICATION';
    this.zumoKey = 'zumoKey';
    this.client = new HttpClient()
        .configure(x => {
        x.withBaseUrl(this.baseUrl);
        x.withHeader(this.zumoHeader, this.zumoKey);
    });
}

// requests will go here
testGet()
{
    this.client.jsonp('api/logs?application_id=sessionID&__count=20')
    .then(response =>
    {
        alert(response);
    });
}
}

事实证明,您不能在此实例中使用 jsonp 方法。 get 方法(如果您正在发出 get 请求)是添加 headers 的唯一方法。

在此之后,我必须确保服务器也能处理 CORS。

import {HttpClient} from 'aurelia-http-client';

export class WebApi
{
static inject = [HttpClient];
constructor(http)
{
this.http = http;
this.baseUrl = 'https://myProject.azure-mobile.net/';
this.zumoHeader = 'X-ZUMO-APPLICATION';
this.zumoKey = 'zumoKey';
this.client = new HttpClient()
    .configure(x => {
    x.withBaseUrl(this.baseUrl);
    x.withHeader(this.zumoHeader, this.zumoKey);
});
}

// requests will go here
testGet()
{
this.client.get('api/logs?application_id=sessionID&__count=20')
.then(response =>
{
    alert(response);
});
}
}