javascript - 如何:从控制器返回文件后重置引导按钮状态
问题描述
我有一个按钮,单击该按钮会执行文件的导出,并且在服务器上可能是一个漫长的过程,因此我想将该按钮置于“加载”状态。
但是,由于控制器返回一个文件,因此按钮永远不会“重置”并返回正常状态。我需要某种可以调用重置的javascript事件。
Javascript
$(".load-spin").on('click', function () {
var btn = $(this).closest("ul").prev();
$(btn).button("loading");
});
HTML
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Book Actions <span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
@if (item.Published)
{
<li><a href="@Url.Action("Manage", new { id = item.BookId })">Manage/Edit</a></li>
<li><a href="javascript:void(0)" onclick="confirmDelete(@item.BookId)">Delete</a></li>
<li><a class="load-spin" href="@Url.Action("Duplicate", new { id = item.BookId })">Duplicate</a></li>
<li role="separator" class="divider"></li>
<li><a class="load-spin" href="@Url.Action("Export", new { id = item.BookId })">Export Configuration</a></li>
<li><a class="load-spin" href="@Url.Action("Download", new { id = item.BookId })">Download (for offline use)</a></li>
}
</ul>
控制器
public ActionResult Export(int id)
{
// omitted for brevity
return File(fullFileName, "application/zip", fileName);
}
为了调用 $(btn).button("reset"),我应该监听什么样的事件或动作?
解决方案
与其在 url 中添加操作,不如添加一个 onclick 事件,然后使用一个函数处理它,该函数将一个操作发送到具有响应的控制器,您可以在其中读取响应并采取相应的行动。
推荐阅读
- java - 如何使用 org.json 在 Java 中创建一个类似于此示例的 JSON?
- hibernate-search - 在休眠搜索中对嵌入的实体名称进行排序
- activemq - Python程序使用Stomp协议连接ActiveMQ不断断开连接
- bash - Shell 脚本 - 使用 bash 对从 aws cloudwatch 统计数据的 json 提取的统计数据运行操作
- python - 尝试从 FTP 文件列表中匹配正则表达式文件名
- intellij-idea - IntelliJ 代码样式设置中的视觉指南
- c# - 如何在 C# 中获取用户输入并更新 Google 电子表格
- javascript - 如果对象值`num`大于数组中的`quota`,则将类添加到与我的数组对象具有相同#id的元素
- android - Firebase Crashlytics SDK 无法识别 Crashlytics 类
- sh - 当为 sh -c 和 su 传入字符串时,如何让管道工作