未定义Javascript~SailsJs操作
问题 因此,我正在编辑一个crud应用程序,以便在删除之前进行确认,并创建了一个javascript函数来执行此操作,但在我的cmd和“show”页面上出现以下错误 错误:发送500(“服务器错误”)响应:ReferenceError:未定义Javascript~SailsJs操作,javascript,sails.js,Javascript,Sails.js,问题 因此,我正在编辑一个crud应用程序,以便在删除之前进行确认,并创建了一个javascript函数来执行此操作,但在我的cmd和“show”页面上出现以下错误 错误:发送500(“服务器错误”)响应:ReferenceError: C:\Users\Micha\Documents\intellite vraagbaak\views\answer\show.ejs:176 174 |如果(c){ 175 | console.log(“完成”); 176 | window.location.h
C:\Users\Micha\Documents\intellite vraagbaak\views\answer\show.ejs:176
174 |如果(c){
175 | console.log(“完成”);
176 | window.location.href=“操作/删除/”
177 |}
178 |
179 |其他{ 未定义操作 代码 这是应该进行删除的代码的一部分
<td class="actions" style="display: block; margin: 0 auto">
<a href="/actionbrand/create/<%= action.id %>"
class="btn btn-sm btn-icon btn-pure btn-default on-default"
data-toggle="tooltip"
data-original-title="Toevoegen"><i class="icon wb-plus" aria-hidden="true"></i></a>
<a href="/action/show/<%= action.id %>"
class="btn btn-sm btn-icon btn-pure btn-default on-editing"
data-toggle="tooltip"
data-original-title="Bekijk"><i class="icon wb-eye" aria-hidden="true"></i></a>
<a href="/action/edit/<%= action.id %>"
class="btn btn-sm btn-icon btn-pure btn-default on-default"
data-toggle="tooltip"
data-original-title="Bewerk"><i class="icon wb-edit" aria-hidden="true"></i></a>
<form id="deleteAction" action="javascript:Delete()" method="POST">
<button type="submit"
class="btn btn-sm btn-icon btn-pure btn-default on-default"
data-toggle="tooltip"
data-original-title="Verwijder"><i class="icon wb-trash" aria-hidden="true"></i>
</button>
</form>
</td>
</tr>
<% }) %>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
function Delete(){
let c = confirm('U staat op het punt een actie te verwijderen, klik op "ok" om hier mee door te gaan');
if (c){
console.log("done");
window.location.href = "action/delete/<%=action.id %>"
}
else{
console.log("failed")
window.location.href = "/answer/show/<%= answer.id %>"
}
}
</script>
函数Delete(){
让c=确认(‘在活动中保持平衡,在门前保持“正常’);
如果(c){
控制台日志(“完成”);
window.location.href=“操作/删除/”
}
否则{
console.log(“失败”)
window.location.href=“/answer/show/”
}
}
我没有得到的
我没有收到这个错误,因为我在整个页面上使用变量操作,没有任何错误。但是当我在函数中使用变量操作时,我收到了一个错误。我做错了什么?任何帮助都会很好(对不起,我的英语不是母语)
编辑
行动从何而来
Action是我所有操作的别名,在上方的foreach循环中定义
{ %>
@mjZac在他的评论中是正确的-操作
仅在循环中定义,因此它在循环外是未定义的
您需要的是将action(或只是action.id
)信息传递给您的方法。按照您的设置方式,我认为您可以将其作为参数添加到方法调用中
<% _.each(answer.actions, action => { %>
<td class="actions" style="display: block; margin: 0 auto">
<!-- some other stuff... -->
<form class="deleteAction" action="javascript:Delete(<%= action.id %>)" method="POST">
<button type="submit" class="btn btn-sm btn-icon btn-pure btn-default on-default" data-toggle="tooltip" data-original-title="Verwijder"><i class="icon wb-trash" aria-hidden="true"></i></button>
</form>
</td>
<% }) %>
<script>
function Delete(actionId){
let c = confirm('U staat op het punt een actie te verwijderen, klik op "ok" om hier mee door te gaan');
if (c){
console.log("done");
window.location.href = "action/delete/" + actionId;
}
}
</script>
{%>
函数删除(actionId){
让c=确认(‘在活动中保持平衡,在门前保持“正常’);
如果(c){
控制台日志(“完成”);
window.location.href=“action/delete/”+actionId;
}
}
总之,模板在每个tr
中向Delete()
方法调用添加操作id,然后脚本使用该id在纯javascript中生成其url(不涉及模板标记).是动作
你在循环中声明的东西还是..
中的东西?@MjZac我更新了你在
关闭循环的问题。因此动作
不可用。
<% _.each(answer.actions, action => { %>
<td class="actions" style="display: block; margin: 0 auto">
<!-- some other stuff... -->
<form class="deleteAction" action="javascript:Delete(<%= action.id %>)" method="POST">
<button type="submit" class="btn btn-sm btn-icon btn-pure btn-default on-default" data-toggle="tooltip" data-original-title="Verwijder"><i class="icon wb-trash" aria-hidden="true"></i></button>
</form>
</td>
<% }) %>
<script>
function Delete(actionId){
let c = confirm('U staat op het punt een actie te verwijderen, klik op "ok" om hier mee door te gaan');
if (c){
console.log("done");
window.location.href = "action/delete/" + actionId;
}
}
</script>