- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题
所以我正在编辑一个 CRUD 应用程序以在删除之前进行确认,并创建了一个 JavaScript 函数来执行此操作,但我在 cmd 和“显示”页面上收到以下错误
error: Sending 500 ("Server Error") response: ReferenceError:
C:\Users\Micha\Documents\intelligente-vraagbaak\views\answer\show.ejs:176
174| if (c){
175| console.log("done");
176| window.location.href = "action/delete/<%=action.id %>"
177| }
178|
179| else{action is not defined
代码
这是应该发生删除的代码的一部分,
<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>
我没有得到什么
我没有收到此错误,因为我在整个页面上使用变量操作,并且没有任何错误,但是当我在函数中使用它时,我收到错误。我究竟做错了什么?任何帮助都会很好(抱歉我的英语我不是母语人士)
“行动”从何而来
Action 是我所有操作的别名,在 <tr><td>...</td></tr>
上方的 foreach 循环中定义。
<%- answer.actions.length === 0 ? "<tr><td>No results</td></tr>" : null %>
<% _.each(answer.actions, action => { %>
最佳答案
@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>
总而言之,模板将操作 id 添加到每个 tr
中的 Delete()
方法调用中,然后脚本使用该 id 以纯格式生成其 url javascript(不涉及模板标签)。
关于Javascript ~ SailsJs 操作未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47751678/
在 sailsjs 1.0@beta 中,我有一个模型链接到带有 mysql-sails@beta 适配器的 mysql 表中的 View 。 模型配置如下: attributes: { id
我有一个独立的操作,我使用 CloudSDK 通过单击按钮从我的前端调用它,我得到了我的值,但该操作不会重定向到 View 。我已在成功退出中将 responseType 指定为 View ,但这似乎
sails.sockets.rooms()和sails.sockets.socketRooms()均已弃用 在文档中: This method is deprecated. Please keep t
我尝试使用以下方法在 Controller 操作中获取发布数据: req.body.name 但是不起作用 最佳答案 您可以尝试先检索全部内容来访问它们 function(req, res, next
我一直在尝试按照文档和 StackOverflow 上的说明为我的应用程序加载自定义配置,但失败了。 我在中创建了一个新文件 /config/application.js 内容: module.exp
我对两个 Nodejs 和 sails 都很陌生。我正在尝试在一个 Action 中创建两个模型。我的问题是如何处理两个查询中可能发生的错误。 当前代码: new: function (req, re
所以我的问题是我想将任何请求记录到我的 sails 应用程序。基本上我已经解决了一个问题,即我无法记录请求的参数。 myRequestLogger: function(req, res, next)
是否可以动态更新 sails.config 对象,而无需重新升起 sails 来应用这些更改? 我希望动态更新sails.config.policies 在我的 bootstrap.js 中我已经设置
假设我有一个很长的任务,当有人连接到 InitializeDB 时,该任务就开始运行。 (当然,将来会获得授权,但暂时不考虑)。 'post /initializeDB':'OrderControll
问题 所以我正在编辑一个 CRUD 应用程序以在删除之前进行确认,并创建了一个 JavaScript 函数来执行此操作,但我在 cmd 和“显示”页面上收到以下错误 error: Sending 50
我了解到放置在资源中的静态文件将可以直接在浏览器中访问。但是执行此操作后,我的静态文件无法访问。 最后,结果发现静态文件没有编译到隐藏文件夹(.tmp/public)中。我手动将所有文件复制到这个隐藏
sails.js 框架不支持事务。在 GitHub 问题中,他们谈论 transaction()。但是不适合在一个事务中编写多个查询。 所以我认为一种解决方案是使用 node-mysql 模块。但我认
好吧,我(天真地)试图让 bull 在 sails 应用程序中工作:最终我希望有一个队列,我可以根据传入路线向其中添加/删除/检查任务。 现在,据我所知,要创建一个可在全局范围内运行的排队系统,我必须
我正在开发一个 Sails 应用程序,对于我的单元测试,我需要在 ./test/bootstrap.test.js 和 ./test/unit/controllers/*.test.js 中使用一些变
我一直在努力更好地了解如何在 SailsJS 中设置外键。我目前正在开展一个类(class)项目,我的小组需要创建一个评估系统,其中包含教师和学生的个人资料以查看结果。我在网上看到了一些例子,但我看到
我想创建一条动态路线。我创建了一个名为用户的 API。我需要可以访问/users/:nameofuser,就像自动创建的用户/id。 如何在这种类型的 url 中获取用户名,并执行 Controlle
我有一个模型帖子: // Post.js attributes:{ name: {type:"string"}, users: { collection: 'user', via: '
我的 Sailsjs 应用程序中有以下具有多对多关系的模型: 事件.js: attributes: { title : { type: 'string', required: true }, de
我正在使用 Sails v0.10.5。 我创建了三个模型,它们之间存在关联。存在一个Candidate 模型、一个Evaluator 模型和一个Rating 模型,评估者通过该模型对候选人进行评分。
我的 Sails 应用程序中有用户模型,当然它有密码。因此,当我创建新用户时,Sails 会使用包含新创建用户的所有数据(包括哈希密码)的 json 进行响应。有没有办法阻止 Sails 输出某些字段
我是一名优秀的程序员,十分优秀!