Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sails.js:提交表单时从未调用控制器_Javascript_Node.js_Sails.js_Ejs - Fatal编程技术网

Javascript Sails.js:提交表单时从未调用控制器

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

我正在努力熟悉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="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">