【发布时间】:2017-04-04 12:40:28
【问题描述】:
希望你能帮助我:
我的 localhost 中有一个 API 作为前端和数据库之间的桥梁。
我在前端服务器中使用 Express。当我提交表单时,数据被放入数据库中,我的 API 按我的预期发送响应,但 express 没有收到任何内容,并且状态处于挂起状态(几分钟后,我的浏览器拒绝响应):
这是我使用 express 的代码(ClientApi 是我在 localhost 中运行的自定义 API 的实例):
lisaApp.post('/signup', (req, res) => {
const validationResult = validateSignupForm(req.body);
if (!validationResult.success) {
return res.status(400).json({
success: false,
message: validationResult.message,
errors: validationResult.errors
});
}
var newClient = req.body
newClient.clientemailname = newClient.userclient
newClient.client_id = uuid.v4()
delete newClient.confirmPassword
ClientApi.saveClient(newClient, function (err, usr) {
if (err) return res.status(500).send(err.message)
console.log('entro')
res.redirect('/')
});
});
这是我的 API 的函数,它按预期返回响应(请参阅我使用 Access-Control-Allow-Origin 设置了我的标头):
hash.set('POST /', async function saveClient (req, res, params) {
let client = await json(req)
if (!db.connected) {
await db.connect()
}
let createdClient = await db.saveClient(client)
delete createdClient.clientemailname
delete createdClient.password
await db.disconnect()
res.setHeader('Access-Control-Allow-Origin', '*')
send(res, 201, createdClient)
})
通过表单发送数据后,这是我的浏览器显示的错误 我:
Failed to load resource: net::ERR_EMPTY_RESPONSE
Uncaught (in promise) TypeError: Cannot read property 'data' of undefined
at app.js:18952
【问题讨论】: