Argument vom Typ '{header:Kopfzeile;}' ist nicht zuweisbare parameter des Typs "RequestOptionsArgs'
Im Immer folgende Fehlermeldung beim Versuch, den pass-header in HTTP.POST/GET Anfrage Argument of type '{header:Header;}' is not assignable to parameter of type 'RequestOptionsArgs'. Property 'null' is missing in the type '{header:Header;}'
Ich habe versucht viele Lösungen, aber keine Sperre.
hier mein code :
import { Injectable } from '@angular/core';
import { Response, RequestOptions, Headers, Http, URLSearchParams} from '@angular/http';
import { Observable, Subject } from 'rxjs/Rx';
import {Company} from './companyMaster';
import 'rxjs/add/operator/map';
import "rxjs/Rx";
import 'rxjs/add/operator/toPromise';
import {CommonService} from '../../common.service';
@Injectable()
export class CompanyMasterService {
private GetListActionUrl: string;
private AddEditActionUrl: string;
public headers = new Headers({ 'Content-Type': 'application/json' });
public options = new RequestOptions({ headers: this.headers });
commonService: CommonService;
constructor(private _http: Http) {
this.commonService = new CommonService();
this.GetListActionUrl = this.commonService.RootURL + 'Company/GetList';
this.AddEditActionUrl = this.commonService.RootURL + "Company/AddEdit";
}
private RegenerateData = new Subject<number>();
//Observable string streams
RegenerateData$ = this.RegenerateData.asObservable();
GetList(): Promise<Company[]> {
return this._http.get(this.GetListActionUrl + "?branchId=" + this.commonService.BranchId)
.toPromise()
.then(response => this.extractArray(response))
.catch();
}
AddEdit(company: Company): any {
let headers = new Headers({ 'content-type': 'application/json' });
let body = JSON.stringify({
'BRANCH_ID': company.BRANCH_ID.toString(),
'COMPANY_ID': company.COMPANY_ID != null ? company.COMPANY_ID.toString() : null, 'COMPANY_NAME': company.COMPANY_NAME
});
let options = new RequestOptions({ headers: headers});
return this._http.post(this.AddEditActionUrl, body, options)
.toPromise()
.then(response => this.extractArray(response))
.catch();
}
protected extractArray(res: Response, showprogress: boolean = true) {
let data = res.json();
return data || [];
}
private getHeaders() {
//I included these headers because otherwise FireFox
//will request text/html instead of application/json
let headers = new Headers();
headers.append('Accept', 'application/json');
return headers;
}
}
Siehe oben code, den ich bestanden haben, die header-Methode AddEdit (), aber es zeigt oben genannten Fehler habe ich versucht viele Lösung wie :
- Update-Paket
- Importierten @eckig/http
- Versucht, verschiedene Weg, um header übergeben
Habe versucht, diese Lösung
habe ich angehängte screenshot zeigt Fehler in Visual studio-IDE. Siehe Anhang Fehler-screenshot
Antworten Sie bitte so bald wie möglich.
Paket.json
{
"name": "sb-admin-angular4-bootstrap4",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve --ec=true",
"build": "ng build --prod",
"gitbuild": "ng build --prod --base='/start-angular/SB-Admin-BS4-Angular-4/master/dist/'",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.25",
"@ngx-translate/core": "^6.0.1",
"@ngx-translate/http-loader": "0.0.3",
"core-js": "^2.4.1",
"font-awesome": "^4.7.0",
"ionicons": "^3.0.0",
"ng2-charts": "^1.5.0",
"rxjs": "^5.1.0",
"typing": "^0.1.9",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular/cli": "^1.1.3",
"@angular/compiler-cli": "^4.0.0",
"@types/jasmine": "2.5.38",
"@types/node": "~6.0.60",
"codelyzer": "~2.0.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.0.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^0.2.0",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-phantomjs-launcher": "^1.0.4",
"protractor": "~5.1.0",
"ts-node": "~2.0.0",
"tslint": "~4.5.0",
"typescript": "~2.2.0",
"webpack": "^3.0.0"
}
}
Gleiche Problem für mich... habe auch versucht diese Methode - `` setContentTemplate(contentItem: ContentItem, Vorlage: ContentTemplate) { lassen Optionen = new RequestOptions(); Optionen.Header = new Header(); Optionen.Header.append('Content-Type', 'text/uri-list'); return diesen.http.put(contentItem._links.- Vorlage.href Vorlage._links.selbst.href, options); } ``
Versuchen Sie, diese für eine Lösung: stackoverflow.com/a/48535717/4698380, da http ist veraltet, die Sie verwenden sollten HttpClient statt.
Versuchen Sie, diese für eine Lösung: stackoverflow.com/a/48535717/4698380, da http ist veraltet, die Sie verwenden sollten HttpClient statt.
InformationsquelleAutor Gawade Pavan | 2017-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich endlich gelöst mine durch das überspringen der RequestOptions Objekt.
Ich bin mit Winkel 4, so kann es für mich anders, aber ich erstelle ein nicht typisiertes Objekt und übergeben es in die http-Methode, Funktion... -
InformationsquelleAutor Jeremy
InformationsquelleAutor Shailesh Ladumor
Das Problem, das Sie haben, ist hier:
Die Umsetzung des HttpHeaders
append()
ist:Gibt es einen Klon Ihrer HttpHeaders-Objekt. Um Ihren Anhängen auf, Sie brauchen, um es zu speichern in einer Variablen:
InformationsquelleAutor Haifeng Zhang