ES6 fetch:如何更改它调用的本地主机端口?

cbl*_*bll 6 javascript spring ecmascript-6 fetch-api

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

我有一个登录系统,我想在 :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 
Run Code Online (Sandbox Code Playgroud)

但是,它仍然指的是8080:

bodyUsed: false
headers: Headers {  }
ok: true
redirected: false
status: 200
statusText: "OK"
type: "basic"
url: "http://localhost:8080/api/login"
Run Code Online (Sandbox Code Playgroud)

Mil*_*lad 12

您是否尝试将完整的 url 放在 fetch first 参数中?很确定/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'
  })
Run Code Online (Sandbox Code Playgroud)

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