gpt4 book ai didi

ajax - angular 2 ajax调用出现错误 "EXCEPTION: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data"

转载 作者:太空狗 更新时间:2023-10-29 18:06:22 25 4
gpt4 key购买 nike

我正在使用 angular2 创建应用程序,我需要从雅虎天气获取天气信息。我尝试使用 http get 方法来完成它,但它给我一个错误。

import {Component,OnInit,} from "angular2/core";
import {Http} from "angular2/http";
import 'rxjs/add/operator/map';

@Component({
templateUrl:'app/contact/contact.html',
})

export class ContactComponent{
constructor (private http: Http) {}
public url:string= "http://weather.yahooapis.com/forecastjson?w=2295424";

ngOnInit(url:string) {

return this.http.get(url).map(res => {
return res.json();
}).subscribe((response) => { console.log(response) });

}

}

我得到的错误是

EXCEPTION: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

谁能帮我解决这个问题?

最佳答案

您需要将 Accept header 附加到 get 请求,以便 Firefox 呈现返回的 json。我在搜索了很多之后发现了这个并遇到了这个 https://brockallen.com/2012/04/27/change-firefoxs-default-accept-header-to-prefer-json-over-xml/这让我走上了添加标题的道路

    ngOnInit() {
let headers = new Headers();
headers.append('Accept', 'q=0.8;application/json;q=0.9');
return this.http.get(this.url, { headers: headers } ).map(res => {
return res.json();
}).subscribe((response) => { console.log(response) });
}

关于ajax - angular 2 ajax调用出现错误 "EXCEPTION: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35129078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com