1
webpackでAngular 2を使用しています。 私は、ヘッダパラメータの最初の文字が自動的に小文字に変換されるという問題に直面しています。例えば。角2の要求ヘッダーは、webpackで自動的に小文字に変換されます
Accept': 'application/json, text/plain
は
{
"name": "life-inventory",
"version": "1.0.0",
"description": "Life lazy loading",
"scripts": {
"start": "webpack-dev-server --inline --progress --port 8080",
"build": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail",
"postinstall": "typings install"
},
"license": "MIT",
"dependencies": {
"@angular/common": "2.0.0",
"@angular/compiler": "2.0.0",
"@angular/core": "2.0.0",
"@angular/forms": "2.0.0",
"@angular/http": "2.0.0",
"@angular/platform-browser": "2.0.0",
"@angular/platform-browser-dynamic": "2.0.0",
"@angular/router": "3.0.0",
"angular2-materialize": "^6.7.2",
"core-js": "^2.4.1",
"rxjs": "5.0.0-beta.12",
"systemjs": "0.19.40",
"vue-router": "^2.5.2",
"zone.js": "^0.6.23"
},
"devDependencies": {
"@types/jquery": "^2.0.41",
"angular2-router-loader": "^0.2.2",
"angular2-template-loader": "^0.4.0",
"awesome-typescript-loader": "^3.0.0-beta.17",
"angular2-materialize": "^6.7.2",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.23.1",
"extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.8.5",
"html-loader": "^0.4.3",
"html-webpack-plugin": "^2.15.0",
"jasmine-core": "^2.4.1",
"karma": "^1.2.0",
"karma-jasmine": "^1.0.2",
"karma-phantomjs-launcher": "^1.0.2",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^1.8.0",
"phantomjs-prebuilt": "^2.1.7",
"raw-loader": "^0.5.1",
"reflect-metadata": "^0.1.8",
"rimraf": "^2.5.2",
"style-loader": "^0.13.1",
"ts-loader": "^0.8.1",
"typescript": "2.3.4",
"typings": "^1.3.2",
"webpack": "^1.13.0",
"webpack-dev-server": "^1.14.1",
"webpack-merge": "^0.14.0"
}
}
私の要求ファイルが
あるpakage.jsonaccept':'application/json, text/plain
に変換し、
import {Injectable} from '@angular/core'; import {Headers, Http, URLSearchParams, Response} from "@angular/http"; private headers = new Headers({ 'content-Type': 'application/json', 'Accept': 'application/json, text/plain, */*' }); addToken() { if (jQuery.jStorage.get('currentUser')) { this.token = jQuery.parseJSON(jQuery.jStorage.get('currentUser')).token; this.headers.set('csToken', this.token); this.headers2.set('csToken', this.token); this.username = jQuery.parseJSON(jQuery.jStorage.get('currentUser')).username; } } getDashboard(): Promise<Gast[]> { this.addToken(); const url = `${this.apiUrl}/Dashboard?format=json`; debugger return this.http.get(url, {headers: this.headers}) .toPromise() .then(response => response.json().data as Gast[]) .catch(this.handleError); }
私は
.set
&.append
ヘッダーの方法を試してみましたが、機能しません。
キャメルケースにヘッダーを渡す方法はありますか? –
はインターセプタを作成するので、問題なくカスタムヘッダーを渡すこともできます。 –