Javascript Sails.js:提交表单时从未调用控制器
我正在努力熟悉Sails.js。我遇到了一个问题:提交表单时,我无法设法呼叫控制器 这是我的ejs文件中的表格:Javascript Sails.js:提交表单时从未调用控制器,javascript,node.js,sails.js,ejs,Javascript,Node.js,Sails.js,Ejs,我正在努力熟悉Sails.js。我遇到了一个问题:提交表单时,我无法设法呼叫控制器 这是我的ejs文件中的表格: <form method="post" action="/calibers/add" enctype="multipart/form-data"> <label for="fname">Name of the new caliber:</label><br> <input type="text" id="nam
<form method="post" action="/calibers/add" enctype="multipart/form-data">
<label for="fname">Name of the new caliber:</label><br>
<input type="text" id="name" name="name" value="" placeholder="7,62x54 R">
<input type="submit" value="submit" class="btn">
</form>
以下是被调用的控制器:add.js:
module.exports={
friendlyName:“添加口径”,
描述:“将新口径添加到口径列表”,
投入:{
姓名:{
键入:“字符串”,
必填项:true
},
},
出口:{
成功:{
responseType:“视图”,
viewTemplatePath:“页面/欢迎”
},
},
fn:异步函数(输入、输出){
log(“调用函数”);
让newCal=wait calible.create({name:inputs.name});
//都做完了。
如果(!newCal){
返回退出。无效({
消息:“无法添加新口径”
});
}
返回成功({
消息:“新口径已成功添加”,
数据:用户记录
});}
};
当我点击表单的提交按钮时,控制器似乎从未被调用,我被重定向到一个简单的“禁止”。发生了什么事?感谢您的帮助。考虑到您使用的是action2格式,您应该: 操作加载项api/controllers/calible/Add 路线:
'POST /api/v1/caliber/add': { action: 'caliber/add' }'
在视图文件中:
<form method="post" action="add" enctype="multipart/form-data">
尽管我建议您使用更长的操作名称,因为您可能会添加几个可能导致问题的控制器
都在文件里,请看一下
<form method="post" action="add" enctype="multipart/form-data">