为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用 dart 和 angular2 客户端运行 GolLang 后端

无法使用 dart 和 angular2 客户端运行 GolLang 后端

慕田峪9158850 2021-12-20 15:49:58
我使用本教程使用 GoLang、Angular2 和 Dart 制作 Web 应用程序,但是当我通过控制台命令“backend”启动后端,并在浏览器中路由到“localhost:8080/”时,它必须从 Dart 的类“Hello”中调用方法,但是它没有调用,我收到 404 错误。我从教程中得到的所有代码都没有改变任何东西。而且我找不到任何其他教程。你能解释一下我做错了什么吗?高朗代码:func main() {   http.Handle("/", http.FileServer(http.Dir("./app/web/")))   fmt.Println("Text")   http.HandleFunc("/api/hello", helloWorld)   http.ListenAndServe(":8080", nil)}func helloWorld(w http.ResponseWriter, r *http.Request) {   data := struct {       Message string   }{       "Hello, World",   }   if err := json.NewEncoder(w).Encode(data); err != nil {       log.Println(err)   }}和角度飞镖代码:class AppComponent {   Hello hello = new Hello();}class Hello{  String message;  Hello(){    HttpRequest.getString('/api/hello')        .then((String content) {          Map parsedMap = JSON.decode(content);          message = parsedMap["Message"];        })        .catchError((Error error) {          print(error.toString());        });  }}我使用本教程使用 GoLang、Angular2 和 Dart 制作 Web 应用程序,但是当我通过控制台命令“backend”启动后端,并在浏览器中路由到“localhost:8080/”时,它必须从 Dart 的类“Hello”中调用方法,但是它没有调用,我收到 404 错误。我从教程中得到的所有代码都没有改变任何东西。而且我找不到任何其他教程。你能解释一下我做错了什么吗?高朗代码:func main() {    http.Handle("/", http.FileServer(http.Dir("./app/web/")))    fmt.Println("Text")    http.HandleFunc("/api/hello", helloWorld)    http.ListenAndServe(":8080", nil)}func helloWorld(w http.ResponseWriter, r *http.Request) {    data := struct {        Message string    }{        "Hello, World",    }    if err := json.NewEncoder(w).Encode(data); err != nil {        log.Println(err)    }}和角度飞镖代码:class AppComponent {    Hello hello = new Hello();}class Hello{   String message;   Hello(){     HttpRequest.getString('/api/hello')         .then((String content) {          Map parsedMap = JSON.decode(content);           message = parsedMap["Message"];         })         .catchError((Error error) {          print(error.toString());         });   }}和项目结构:
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

教程已经很老了。您需要切换到HashLocationStrategy(据我所知,这是当时的默认设置)。


见https://angular.io/docs/ts/latest/api/router/HashLocationStrategy-class.html


改变


bootstrap(AppComponent);


bootstrap(AppComponent, [

  ROUTER_PROVIDERS,

  provide(LocationStrategy, {useClass: HashLocationStrategy})

]);

您还需要添加一些额外的导入


import 'package:angular2/router.dart'

    show

        HashLocationStrategy,

        LocationStrategy,

        ROUTER_PROVIDERS;


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信