我正在尝试使用Sails在数据库中创建一个新客户。当您通过URL手动输入参数时,这可以按您期望的方式运行,但是,当我通过表单使用POST方法时,会收到404 not found错误,这与将页面刷新为相同URL时没有多大意义,我收到一个新错误,通知我未定义的属性(这很有意义,因为我尚未定义任何属性)。我已经检查了Chrome控制台,并且POST方法似乎正在以正确的URL形式发送数据。
客户总监
/**
* CustomerController
*
* @description :: Server-side actions for handling incoming requests.
* @help :: See https://sailsjs.com/docs/concepts/actions
*/
module.exports = {
'new': function (req, res) {
res.view();
}
};
new.ejs(新客户创建视图)
<form action="/customer/create" method="POST">
<h2> Create customer</h2>
<input type="text" placeholder="Name" name="name" ></br/>
<input type="text" placeholder="Email" name= "email" ></br/>
<input type="text" placeholder="State" name = "state" ><br/>
<input type="submit" value="Create Customer"/>
</form>
Customer.js(模型)
/**
* Customer.js
*
* @description :: A model definition. Represents a database table/collection/etc.
* @docs :: https://sailsjs.com/docs/concepts/models-and-orm/models
*/
module.exports = {
attributes: {
name: {
type: 'string',
required: true
},
email: {
type:'string',
isEmail: true
},
state: {
type: 'string'
}
},
};
答案 0 :(得分:0)
已修复! **
在较旧版本的sail中,似乎要使用'create'方法,则必须将其明确指向URL并包含'/ create'。在当前版本中,似乎并不需要这样做,而是直接发布到“ / customer”(或您使用的任何“模型”)会自动创建新记录。