gpt4 book ai didi

http - Angular2 不发送 HTTP GET

转载 作者:可可西里 更新时间:2023-11-01 16:32:26 24 4
gpt4 key购买 nike

(A) 中列出的代码在 test() 被调用时从不发送其 HTTP 请求,而 (B) 中几乎相同的代码确实有效。知道问题是什么吗?我通过查看服务器日志知道是否发送了请求。此外,如果我通过将请求粘贴到浏览器中手动发出 (A) 中的请求,我会得到预期的响应。我很难过!

(一)

import { Constants } from '../toplevel/constants'

import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptions } from '@angular/http';
import { Observable} from 'rxjs/Rx';

import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';


@Injectable()
export class SigninService {

constructor (private http: Http, private constants : Constants) {

}

getToken(username: string, password: string) : Observable<string>{

var url = `${this.constants.apiRoot}/users/${username}?${password}`

console.log(`Calling api server with url ${url}`)

return this.http.get(url)
.map((res:Response) => JSON.stringify(res.json()))
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));

}

test() {

this.getToken('jc', 'yadayada')
}
}

(B:节选)

getDocument(id: string) : Observable<Document>{
return this.http.get(`${this.apiUrl}/documents/${id}`)
.map((res:Response) => new Document(res.json()['document']))
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));

}

最佳答案

你的序列很冷。您需要将测试更改为:

   this.getToken('jc', 'yadayada').subscribe()

激活它并发送请求

关于http - Angular2 不发送 HTTP GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40935239/

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