Mic*_*ner 5 javascript webpack vue.js
我使用Vue CLI启动了一个新的VueJS项目。我正在使用访存将登录信息发布到远程DEV服务器。当我在本地环境上调用此方法时,它将此调用处理为GET,POST,OPTIONS和GET。
这是我运行POST请求后从Chrome的网络面板显示的内容。
当它到达api服务器时,它正在作为GET请求处理,该请求返回405,因为它是POST而不是GET。
为什么在两个301之间跳动,然后将调用转换为GET请求。
我正在使用VueJS 2 CLI,Webpack和Babel
注意:我用伪造的网址替换了真实的api网址和服务器
authenticate (username, password) {
const url = '/api/login/authenticate/'
return fetch(url, {
method: 'POST',
body: JSON.stringify({ username, password }),
headers: new Headers({
'Content-Type': 'application/json'
})
}).then(res => res.json());
}
Run Code Online (Sandbox Code Playgroud)
proxyTable: {
"/api": "http://www.myDevServer.net"
}
Run Code Online (Sandbox Code Playgroud)
当我更改 Webpack API 代理设置以匹配此模式时,我得到了它的工作。我还没有找到相关文档changeOrigin,但它似乎是不言自明的。
proxyTable: {
"/api": {
target: "http://www.myDevServer.net",
changeOrigin: true
}
}
Run Code Online (Sandbox Code Playgroud)
我猜发生的事情是我调用了一个更改了来源的代理。由于代理服务器不允许这样做,因此它返回了一个301. 由于服务器不在那里,因此不允许POST请求。然后代理尝试查看有哪些选项可用,因此它发送了一个OPTIONS呼叫。它看到GET被允许并调用它。试图GET在我的通话下进行处理POST,但由于格式错误而失败,返回了405
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |