Node.js Express或Axios错误:套接字挂起代码:EconReset
这是我第一次在这里发帖,如果有数据丢失,我很抱歉 我正在做一些网页抓取来获取一些表格信息。 该页面只响应index.php,当我使用搜索表单时,它会使用一些formData向index.php?go=le发送帖子。 为了避免CORS问题,我在本地主机上运行我自己的API来发表文章。我将我的前端指向我的API,并从localhost获得响应。 没问题 当我尝试向API发出第二个请求时,出现了我的问题。第一个GET工作正常,但在该响应之后,它一直失败。Node.js Express或Axios错误:套接字挂起代码:EconReset,node.js,express,axios,econnreset,Node.js,Express,Axios,Econnreset,这是我第一次在这里发帖,如果有数据丢失,我很抱歉 我正在做一些网页抓取来获取一些表格信息。 该页面只响应index.php,当我使用搜索表单时,它会使用一些formData向index.php?go=le发送帖子。 为了避免CORS问题,我在本地主机上运行我自己的API来发表文章。我将我的前端指向我的API,并从localhost获得响应。 没问题 当我尝试向API发出第二个请求时,出现了我的问题。第一个GET工作正常,但在该响应之后,它一直失败。 当我重新启动服务器时,它会再次工作,但只工作一
当我重新启动服务器时,它会再次工作,但只工作一次 这是我的API代码。我使用
nodemon server.js
启动我的服务器
server.js
在我的前端,我只有一个带有事件的按钮,可以访问我的API(http://localhost:5000)
这是脚本标记包含的my fetch.js。没什么特别的
fetch.js
在我运行服务器的控制台中,我使用这个err
对象得到server error
:
{
"message": "socket hang up",
"name": "Error",
"stack": "Error: socket hang up\n at connResetException (internal/errors.js:607:14)\n at Socket.socketOnEnd (_http_client.js:493:23)\n at Socket.emit (events.js:327:22)\n at endReadableNT (internal/streams/readable.js:1327:12)\n at processTicksAndRejections (internal/process/task_queues.js:80:21)",
"config": {
"url": "http://186.153.176.242:8095/index.php?go=le",
"method": "post",
"data": {
"_overheadLength": 1216,
"_valueLength": 3,
"_valuesToMeasure": [],
"writable": false,
"readable": true,
"dataSize": 0,
"maxDataSize": 2097152,
"pauseStreams": true,
"_released": true,
"_streams": [],
"_currentStream": null,
"_insideLoop": false,
"_pendingNext": false,
"_boundary": "--------------------------935763531826714388665103",
"_events": {
"error": [
null,
null
]
},
"_eventsCount": 1
},
"headers": {
"Accept": "application/json, text/plain, */*",
"Content-Type": "multipart/form-data",
"User-Agent": "axios/0.21.1"
},
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"maxBodyLength": -1
},
"code": "ECONNRESET"
}
我希望有人知道发生了什么事。我试了一整天都没能解决它。我试着在其他网站上发帖,效果很好。我想问题出在表格上
谢谢你的阅读 乍一看,我发现您的前端代码中有一个错误。您在函数上使用了
async
,但是您没有等待,而是使用了。然后,尝试不要混淆样式,可以使用async/wait
或。然后。捕获。
检查这是否有帮助!:) 你试过用node…
而不是nodemon来启动它吗?@Marc我没有在localhost中尝试,但我把代码上传到了heroku,它在那里用node…
运行。它在那里也不起作用:(Thxs,我没有注意到!我想当我试图用'Content-type':'multipart/form data'发帖时,axios出现了问题,因为我改为request-promise-library,它解决了我的问题(至少现在是这样)
const btn = document.getElementById("btn-fetch-proyects")
const axios = window.axios
const fetchProjects = async () => {
console.log("Fetching...")
axios.get("http://localhost:5000/get-projects")
.then(res=>
console.log("The server responded with the following data: ",res.data)
)
.catch(err => console.log("Failed with error: ",err)
)
return null
}
btn.addEventListener("click",fetchProjects);
{
"message": "socket hang up",
"name": "Error",
"stack": "Error: socket hang up\n at connResetException (internal/errors.js:607:14)\n at Socket.socketOnEnd (_http_client.js:493:23)\n at Socket.emit (events.js:327:22)\n at endReadableNT (internal/streams/readable.js:1327:12)\n at processTicksAndRejections (internal/process/task_queues.js:80:21)",
"config": {
"url": "http://186.153.176.242:8095/index.php?go=le",
"method": "post",
"data": {
"_overheadLength": 1216,
"_valueLength": 3,
"_valuesToMeasure": [],
"writable": false,
"readable": true,
"dataSize": 0,
"maxDataSize": 2097152,
"pauseStreams": true,
"_released": true,
"_streams": [],
"_currentStream": null,
"_insideLoop": false,
"_pendingNext": false,
"_boundary": "--------------------------935763531826714388665103",
"_events": {
"error": [
null,
null
]
},
"_eventsCount": 1
},
"headers": {
"Accept": "application/json, text/plain, */*",
"Content-Type": "multipart/form-data",
"User-Agent": "axios/0.21.1"
},
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"maxBodyLength": -1
},
"code": "ECONNRESET"
}