我有一个在前端服务的:8080上运行带有node.js的webpack-dev-server。我有一个在:8088上运行的Spring Boot MVC应用程序,为我的实际后端服务提供服务。

我有一个要在:8088上调用的登录系统,每次调用该函数时,如何将fetch函数的永久设置更改为引用:8088而不是:8080

我尝试了以下方法,但无济于事:

login ({commit}, authData) {
      fetch('/api/login', {
        username: authData.username,
        password: authData.password
      }, {
        mode: 'no-cors',
        method: 'post',
        url: `http://localhost:8088`,
        credentials: 'include'
      }) // ... goes on

但是,它仍然引用8080:
bodyUsed: false
headers: Headers {  }
ok: true
redirected: false
status: 200
statusText: "OK"
type: "basic"
url: "http://localhost:8080/api/login"

最佳答案

您是否尝试将完整的url放入获取的第一个参数中?可以肯定/api/login将向当前主机发出请求。

fetch('http://localhost:8088/api/login', {
    username: authData.username,
    password: authData.password
  }, {
    mode: 'no-cors',
    method: 'post',
    url: `http://localhost:8088`,
    credentials: 'include'
  })

当然,您需要启用CORS才能使其正常工作。

07-24 20:09