我正在尝试使用Sails js API在mysql数据库中放入一些数据, 这是我通过ajax调用发送的数据
{"person":{"name":"Sahasrangshu Guha","address":"Dlf It Park Ii Block 1a, Plot No. Ii-F/1, Action A, Ericsson Kolkata","phoneNumber":"9830612244"}}
这是ajax调用标头
{ 'Content-Type': 'application/json', 'responseType': 'json' }
我的sails js控制器如下
module.exports = {
addPerson: function (req, res) {
if (req.method == 'POST' && req.param('person', null) != null) {
console.log(req.param('person'));
Person.create(req.param('person'), (error, person) => {
if(error) {
res.send('Error:Sorry!Something went Wrong');
} else {
res.send('Successfully Created!');
}
});
// Error handling
// if (err) {
// res.send('Error:Sorry!Something went Wrong');
// } else {}
// res.send('Successfully Created!');
// //res.redirect( ‘person/view/’+model.id);
// }
}
else {
res.send('Error:Sorry!Data Wrong');
}
}
}
我的Sails js模型如下所示
module.exports = {
tableName: 'person',
primaryKey: 'id',
attributes: {
name: {
type: 'string',
required: true
},
address: {
type: 'string',
required: true
},
phoneNumber: {
type: 'string',
required: true
}
}
};
每当我向Sails js API发出POST请求时,我总是会遇到以下错误
{错误:语法错误:JSON中的意外令牌E在JSON.parse()的位置0
有什么办法解决这个问题吗?我试过发送对象而不是JSON数据,但是会遇到相同的错误。
答案 0 :(得分:1)
在返回响应的同时,我认为这里需要一个对象而不是字符串
res.send(errObj);
错误obj应该是这样的
{
success: false,
status: 400,
message : 'Error:Sorry!Something went Wrong'
}
或发送带有状态码的消息
res.status(response.status || 500).send(response)