当我请求客户数据时,应用程序会进行api调用。对于一个客户来说,它可以工作,但对于另一个相同的api调用,使用下面使用相同代理完全相同的方式将失败。
意识到在这种情况下,JSON响应在其末尾附加了错误(在json文件中的数组末尾连接),因此给出了JSON错误。但是,对另一个客户的相同要求并不能做到这一点。
在项目根目录中添加了proxy.config.json
{
"/api/*": {
"target": "http://<server_ip_address>:<port>",
"secure": false,
"changeOrigin": true,
"logLevel": "debug"
}
}
然后在start.package.json中添加了代理配置
"scripts": {
"ng": "ng",
"start": "ng serve --proxy-config proxy.config.json --extract-css=true",
"build": "ng build --prod --aot=false --output-path dist",
"test": "jest",
"codecoverage": "jest --coverage",
"test:watch": "jest --watch",
"lint": "ng lint",
"e2e": "ng e2e"
},
错误:
[HPM]尝试从中代理请求/ api / v1 / login时发生错误 本地主机:4200到http://:(ECONNRESET)(https ://nodejs.org/api/errors.html#errors_common_system_errors)
如果我检查chrome网络控制台,则请求状态为OK。但是在“预览”选项卡中,它显示来自服务器的JSON,然后附加以下字符串
尝试代理请求时发生错误 / api / getList?offset = 0&limit = 50从localhost:4200到 http://localhost:8080
尴尬!
相同的代码库在Linux计算机中不会出错。我有Mac OS。同样,相同的api不会在其他客户的getingList上给出错误。
有一个类似的问题,但是所有答案都不能解决问题。我已经尝试了所有合适的方法。
答案 0 :(得分:0)
我太绝望了,我就此事提出了另一个问题,现在我有了答案。
已添加
"headers": {
"Connection": "keep-alive"
}
对proxy.config.json上的api值对象的选项,现在我没有收到任何错误。包括数据加载,我可以毫无问题地运行PUT调用。