Angular 角度2语法错误:意外标记<;在JSON.parse(<;匿名>;)的位置0处的JSON中
我正在从Visual Studio中的Angular2组件服务调用web API,但不断收到错误“JSON.parse()位置0处JSON中的意外标记<” 组件服务:Angular 角度2语法错误:意外标记<;在JSON.parse(<;匿名>;)的位置0处的JSON中,angular,typescript,asp.net-web-api,Angular,Typescript,Asp.net Web Api,我正在从Visual Studio中的Angular2组件服务调用web API,但不断收到错误“JSON.parse()位置0处JSON中的意外标记
import { Injectable } from '@angular/core';
import {Http, Response } from '@angular/http';
import { IData } from '../Common/details';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Injectable()
export class AniversaryService {
constructor(private _http:Http) { }
getImages(): Observable<IData[]> {
return this._http.get("/api/ImageService/Details")
.map((response: Response) => <IData[]>response.json()
};
}
以下是网络头和我的响应(响应为Javascript)的图像:
有时我的状态代码显示200 ok和内容类型(在响应头中):application/javascript
请帮我解决这个问题
提前感谢您的帮助标题没有用处,数据可能会被删除。但错误信息很清楚:您认为应该是JSON的内容以“-I重新创建了我的组件服务”开头
import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/do';
import { IDetails } from '../share/Details';
@Injectable()
export class AniversaryService {
private url = 'http://localhost:60975/api/ImageService';
constructor(private _http: HttpClient) { }
getDetails(): Observable<IDetails[]> {
return this._http.get<IDetails[]>(this.url)
.do(data => console.log(JSON.stringify(data)))
.catch(this.handleError);
}
private handleError(err: HttpErrorResponse) {
console.log(err.message);
return Observable.throw(err.message);
}
}
从'@angular/core'导入{Injectable};
从“@angular/common/http”导入{HttpClient,HttpErrorResponse};
从“rxjs/Observable”导入{Observable};
导入“rxjs/add/observable/throw”;
导入“rxjs/add/operator/catch”;
导入'rxjs/add/operator/do';
从“../share/Details”导入{IDetails};
@可注射()
导出类通用服务{
专用url=http://localhost:60975/api/ImageService';
构造函数(私有的_http:HttpClient){}
getDetails():可观察{
返回此。\u http.get(this.url)
.do(数据=>console.log(JSON.stringify(数据)))
.接住(这个.把手错误);
}
私有句柄错误(错误:HttpErrorResponse){
控制台日志(错误消息);
返回可观察的抛出(错误消息);
}
}
现在它接受数据时没有任何错误。感谢您的回复。为了确保web API的输出是JSON,我添加了“config.Formatters.Clear();“,”config.Formatters.Add(新的JsonMediaTypeFormatter());“。无论是什么,我都会重新检查我的整个应用程序,并确保它是您提到的JSON。
import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/do';
import { IDetails } from '../share/Details';
@Injectable()
export class AniversaryService {
private url = 'http://localhost:60975/api/ImageService';
constructor(private _http: HttpClient) { }
getDetails(): Observable<IDetails[]> {
return this._http.get<IDetails[]>(this.url)
.do(data => console.log(JSON.stringify(data)))
.catch(this.handleError);
}
private handleError(err: HttpErrorResponse) {
console.log(err.message);
return Observable.throw(err.message);
}
}