登录
首页 >  Golang >  Go问答

前端 Angular 未成功调用后端服务

来源:stackoverflow

时间:2024-03-01 21:09:24 242浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《前端 Angular 未成功调用后端服务》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我正在开发示例应用程序,其中我使用 angular 5 作为前端,使用 go lang 作为休息服务(web 服务)。这里我的角度没有调用服务,但是当我通过粘贴 url 从 google 运行并且我在 go 中添加了 cors 时,这些服务工作正常。这是我的角度代码:

export class testserviceservice {

private url2 ='http://localhost:8000/api/books/';

  constructor(private http : httpclient) { }

  getvalues() 
  {
    debugger;
     return this.http.get(this.url2);
  };

}

这是我的 go 代码 package main

import (
    "encoding/json"
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

//Book struct
type Book struct {
    RollNo    string `json:"rollNo"`
    FirstName string `json:"firstName"`
    Author    string `json:"author"`
}

var books []Book

func getBooks(w http.ResponseWriter, r *http.Request) {
    fmt.Println("Method hit")
    w.Header().Set("Content-Type", "application/json")
    json.NewEncoder(w).Encode(books)
}

func main() {
    r := mux.NewRouter()

    fmt.Println("started service")

    books = append(books, Book{RollNo: "1", FirstName: "Ravi", Author: "Dan"})

    r.HandleFunc("/api/books/", getBooks).Methods("GET")

    log.Fatal(http.ListenAndServe(":8000", r))
}

这是服务运行良好的屏幕截图证明:

这里服务方法不是用角度调用的,没有错误


解决方案


您应该导入并注入 httpclient,

import {Injectable} from '@angular/core';
import {HttpClient} from '@angular/common/http';

@Injectable()
export class TestServiceService {

private url2 ='http://localhost:8000/api/books/';

constructor(private http : HttpClient) { }

getValues() 
{
    debugger;
    return this.http.get(this.url2);
};


}

理论要掌握,实操不能落!以上关于《前端 Angular 未成功调用后端服务》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>