Javascript 如果移动客户端在ajax请求过程中仅几秒钟就失去了INTERNET连接,则在rails UJS上断开INTERNET连接
我对Rails UJS ajax请求有问题 我的使用案例是,如果移动设备上的用户通过点击链接触发ajax请求(代码见下文),那么,当请求试图访问服务器时,,如果有任何机会,而且通常是这样,您甚至会断开网络连接一秒钟,那么我的模式将关闭,不再等待(可能客户机会在200毫秒后获得网络连接…) 在放弃尝试之前,我想告诉Rails UJS:“尝试连接到服务器至少10秒” 事实上,这是一种非常常见的情况:你触发ajax,你会看到“加载数据”的模式,然后你会失去一秒钟的网络连接。到目前为止,我设法为用户提供了当他点击触发ajax的按钮时离线的情况,但我没有处理上面描述的情况,即他在线时n他使ajax变得疲劳,但当ajax试图检索数据时,他会在很短的时间内断开连接 如何做到这一点 HTMLJavascript 如果移动客户端在ajax请求过程中仅几秒钟就失去了INTERNET连接,则在rails UJS上断开INTERNET连接,javascript,ruby-on-rails,ruby,ajax,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby,Ajax,Ruby On Rails 4,我对Rails UJS ajax请求有问题 我的使用案例是,如果移动设备上的用户通过点击链接触发ajax请求(代码见下文),那么,当请求试图访问服务器时,,如果有任何机会,而且通常是这样,您甚至会断开网络连接一秒钟,那么我的模式将关闭,不再等待(可能客户机会在200毫秒后获得网络连接…) 在放弃尝试之前,我想告诉Rails UJS:“尝试连接到服务器至少10秒” 事实上,这是一种非常常见的情况:你触发ajax,你会看到“加载数据”的模式,然后你会失去一秒钟的网络连接。到目前为止,我设法为用户提供
<div id="zone" class="has-js">
<%= link_to image_tag(smallest_src_request),
deal_modal_path,
remote: true
</div>
var isOnLine = navigator.onLine;
if (isOnLine) {
// if client has network connection
ModalWhenConnected();
} else { // for client disconnected WHEN triggering call to server, invite to reconnect
modalMessageWhenNotConnected();
}
//using hubspot Messenger: http://github.hubspot.com/messenger/
function ModalWhenConnected() {
var msg;
msg = Messenger().run({
action: $.ajax,
successMessage: '<%= j render partial: "deals/deal_messages" %>',
progressMessage: '<div class="loading-dots">Loading <span>.</span> <span>.</span> <span>.</span></div>',
});
}
function modalMessageWhenNotConnected() {
var msg;
msg = Messenger().post({
message: "It seems you lost your Internet connection. Please connect and try again.",
hideAfter: 3,
type: 'error'
});
}
GET http://localhost:3000/deals/deal5/ net::ERR_INTERNET_DISCONNECTED