Jquery 等待信号器功能结果时引导按钮加载状态
我正在学习MVC、Bootstrap、jQuery和signer。我已经设法建立了一个简单的视图和一个简单的信号器函数。这是可行的,但如果信号器任务需要很长时间才能执行,我想添加某种等待指示器。我试着从getboostrap.com下载stateful按钮,但由于某些原因无法使其工作 这是我的客户代码:Jquery 等待信号器功能结果时引导按钮加载状态,jquery,asp.net-mvc-4,model-view-controller,twitter-bootstrap-3,signalr,Jquery,Asp.net Mvc 4,Model View Controller,Twitter Bootstrap 3,Signalr,我正在学习MVC、Bootstrap、jQuery和signer。我已经设法建立了一个简单的视图和一个简单的信号器函数。这是可行的,但如果信号器任务需要很长时间才能执行,我想添加某种等待指示器。我试着从getboostrap.com下载stateful按钮,但由于某些原因无法使其工作 这是我的客户代码: <h2>Employees</h2> <button type="button" class="btn btn-success" id="btnEmploy
<h2>Employees</h2>
<button type="button" class="btn btn-success" id="btnEmployees" data-loading-text="Loading..." autocomplete="off">
Get Employees
</button>
<div id="result">
</div>
@section scripts
<!--Reference the SignalR library. -->
<script src="~/Scripts/jquery.signalR-2.1.2.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="~/signalr/hubs"></script>
<script>
$(function () {
var service = $.connection.serviceHub;
service.client.GetEmployees = function (html) {
$("#result").html(html);
};
$.connection.hub.start().done(function () {
$('#btnEmployees').on('click', function () {
var $btn = $(this).button('loading');
service.server.printAllEmployees();
$btn.button('reset');
});
});
});
</script>
End Section
员工
雇佣员工
@节脚本
$(函数(){
var服务=$.connection.serviceHub;
service.client.GetEmployees=函数(html){
$(“#结果”).html(html);
};
$.connection.hub.start().done(函数(){
$('btnEmployees')。在('click',函数(){
var$btn=$(this).button('loading');
service.server.printalEmployees();
$btn.按钮(“重置”);
});
});
});
端部
我试图将按钮设置为加载状态,执行信号器功能并将按钮返回到正常状态。信号器函数休眠5秒钟,并返回列表。按钮在持续时间内保持不变。我做错了什么?我总是问得太早,结果回答了我自己的问题:)好吧,不管怎么说,我把jQuery的基本功能搞乱了,并在错误的位置将按钮恢复到正常状态。当然,在重置按钮之前,我必须等待信号机的回答。以下是更正后的jQuery部分:
$(function () {
var service = $.connection.serviceHub;
service.client.GetEmployees = function (html) {
$("#result").html(html);
$('#btnEmployees').button('reset');
};
$.connection.hub.start().done(function () {
$('#btnEmployees').on('click', function () {
var $btn = $(this).button('loading');
service.server.printAllEmployees();
});
});
});