Angular url HTTP 请求

Angular url HTTP request

我的 HTTP 请求有问题。我正在准备后端 URL 投入使用。在console.log中url是正确的("http://192.168.11.94/api/loginApi/login.php"),但是调用后端后,URL是不正确的( "http://192.168.11.94/192.168.11.94/api/loginApi/login.php").

Asi 你可以看到,在URL 中是两次IP 地址。我不知道为什么。在开发中(本地主机)一切 运行 正确。

我试过写url直接请求,但是不行。 设置 API url:

localStorage.setItem("api", "192.168.11.94/api/");

要求:

  apiUrl = localStorage.getItem("api");

  constructor(private httpClient: HttpClient) { }

  login(username:string, password:string) {
    console.log(this.apiUrl);
    return this.httpClient.post<any>(this.apiUrl + 'loginApi/login.php', {username, password});  
    }

在这种情况下,consolelog() 显示:192.168.11.94/api/,但尝试调用此 URL:http://192.168.11.94/192.168.11.94/api/loginApi/login.php

我发现,从代码中删除 this.apiUrl 适用于 ng build --prod,但不适用于开发。 :/

感谢您的帮助! :)

通过将 http:// 添加到 URL 的定义中解决了问题。

localStorage.setItem("api", "http://192.168.11.94/api/");

如果地址相同,则无需在 post 中添加 url。 就像:

login(username:string, password:string) {
    console.log(this.apiUrl);
    return this.httpClient.post<any>('/api/loginApi/login.php', {username, password});  
    }