首页 > 解决方案 > 能够从浏览器 ping 确切的端点,我不能从订阅

问题描述

我有一个已成功测试的微服务,它从 url/uri 返回一个 json:http://localhost:8090/api/v1/movie/search?title=The%20Arrival%20of%20a%20Train%20(1896 )&年份=1896

当我直接输入它时,我会得到一个 json。即使我直接输入它作为:http://localhost:8090/api/v1/movie/search?title=The Arrival of a Train (1896)&year=1896这正是我发送它的方式,通过我的实际打字稿代码。我的组件有一个调用服务的调用函数:

` this.movieService.getMovieByTitleYr(queryObj.title, queryObj.year).subscribe(movie => {
    console.log(movie +"    <---returned")
    this.Movie = movie; 
});`

在我的服务中,它是:

`public getMovieByTitleYr(title: string, yr: string): Observable<any> {
    console.log(`/api/v1/movie/search?title=`+title+`&year=`+yr);
    return this.http.get<any>(`/api/v1/movie/search?title=`+title+`&year=`+yr , {withCredentials: true})
}`

但由于某种原因,“电影”以未定义的形式返回(控制台中的 [])。没有错误。但是我可以通过浏览器使用完全相同的语法以某种方式到达端点。我什至对通过 http 对象发送的 uri 做了一个 con log,它返回了我期待的 json。

I also tried adjusting the syntax desperately.. 
`public getMovieByTitleYr(title: string, yr: string): Observable<any> {
    console.log(`/api/v1/movie/search?title=`+title+`&year=`+yr);
    return this.http.get<any>(`/api/v1/movie/search?title=${title}&year=${yr}` , {withCredentials: true})
}`

我已经在浏览器中验证了多次。我不知道该怎么做。

有什么关于转义字符的吗?还是我不明白的网址的性质?

标签: angulartypescripturlurisubscribe

解决方案


推荐阅读