Ramana Bellary Ответов: 0

Angular2: проблема с передачей заголовков в nodejs


У меня есть сервис nodeJS и приложение Angular2. когда я вызываю метод get, передавая заголовки в NodeJS, заголовки не приходят. Может ли кто-нибудь сказать мне, где я делаю это неправильно?

Примечание: при вызове той же службы путем передачи заголовка из Fiddler она работает нормально. Единственная проблема - это угловое приложение.

Что я уже пробовал:

пакет.в JSON
{
"имя": "SampleApp",
"версия": "1.0.0",
"файлы сценариев": {
"старт": "ТСК &&усилителя; одновременно \"ТК -з\" \"лайт-сервер\" ",
"lite": "lite-сервер",
"ТСК": "ВСК",
"ТСК п": "ТСК -ж"
},
"лицензии": [
{
"тип": "MIT",
"адрес": "https://github.com/angular/angular.io/blob/master/LICENSE"
}
],
"зависимости": {
"@угловое/общие": "~2.2.0",
"@угловое/компилятор": "~2.2.0",
"@угловое/ядра": "~2.2.0",
"@угловое/формы": "~2.2.0",
"@угловое/НТТР": "~2.2.0",
"@угловое/платформа-браузер": "~2.2.0",
платформа-браузера-динамический "@угловое/": "~2.2.0",
"@угловое/маршрутизатор": "~3.2.0",
"@угловое/обновить": "~2.2.0",
"угловой-в-памяти-веб-АПИ": "~0.1.15",
"загрузочный": "^3.3.7",
"ядро-Яш": "^2.4.1",
"отражать-метаданные": "^0.1.8",
"rxjs": "5.0.0-beta. 12",
"systemjs": "0.19.39",
"zone.js": "^0.6.25"
},
"devDependencies": {
"@видах/сердечник-Яш": "^0.9.34",
"@видах/узел": "^6.0.45",
"одновременно": "^3.0.0",
"lite-сервер": "^2.2.2",
"машинопись": "^2.0.3"
}
}

---------------------------
приложение.компонент.ТС
import { Component } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from '@angular/http';

//Import RxJs required methods
// import {Observable} from 'rxjs/Rx';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/throw';

import {Observer} from 'rxjs/observer';
// import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';

@Component({
  selector: 'my-app',
  templateUrl:'./app/app.component.html'
})

export class AppComponent { 
    firmID: string;
    flag: string;
    uKeys: string[];
    uris: string[] = ["http://localhost:8080/api/asps","http://wd-dbn-boops004/api/asps"];
    selectedUri: string;
    //hdr: Headers;
    hdrJson:Object;
    options: RequestOptions;
    
    constructor(private http: Http){
        this.selectedUri = this.uris[0];
        this.firmID="1";
        this.flag="-1";
        this.uKeys=["1405"];

        // this.hdr = new Headers({'content-type': 'application/json'});
        // this.hdr.append("auth-ticket","adafasf");
        // this.hdr.append("Accept", "application/json");
        // this.options = new RequestOptions({headers: this.hdr});
        //  this.hdrJson = JSON.stringify(this.hdr);
    }

    OnQuery(){
        let hdr = new Headers({'content-type': 'application/json','auth-ticket':'abcdd'});
        console.log("selected Uri: "+this.selectedUri+"; firmID: " + this.firmID + "; Flag: " + this.flag + "; Ukeys: " + this.uKeys);
        console.log("Calling service uri :"+this.selectedUri+"/"+this.firmID+"/"+this.uKeys);
        console.log("headers :"+ hdr);
        this.hdrJson = JSON.stringify(hdr);
        
        console.log(this.http.get(this.selectedUri+"/"+this.firmID+"/"+this.uKeys,{headers:hdr})
                        .map((res: Response) => res.json())
                        //.subscribe(res=>res.json()));
                        // .toPromise()
                        //.then(response => response.json().data)
                         .catch(this.handleError));                        
    }

    private handleError(error: any) {
          console.error('An error occurred', error); // for demo purposes only
          return error;
    }
}

0 Ответов