2

我有一个基于 Sencha touch 的小应用程序。这个应用程序应该向服务器提交数据假设这是我所做的 Ajax 调用示例

Ext.Ajax.request({
url: 'http://www.google.com',
timeout:30*1000,
success: function(response, opts) {
  console.dir('success');
},
failure: function(response, opts) {
  console.log('server-side failure with status code ' + response.status);
}

现在

失败

如果我有网络连接但没有互联网,则永远不会被调用!我的客户的问题是没有稳定的互联网连接,但他一直都有无线网络!所以,我在网上找到的所有东西都会检测我是否有网络连接!但我已经有一个,但这个连接不提供互联网。

任何人都知道如何检测互联网连接而不是网络?

仅供参考:我尝试了 navigator.online 和网络状态示例,它们都没有检测到互联网,我还附加了一个 phoneGap 监听器,因为我正在使用 sencha 和 phoneGap 创建一个 iOS 应用程序!

编辑:我正在使用 Sencha v1.1

4

3 回答 3

6
alert(Ext.device.Connection.isOnline());

这是网址, http://docs.sencha.com/touch/2-0/#!/api/Ext.device.Connection

于 2012-07-19T11:31:10.783 回答
1

您还可以使用 PhoneGap 检测连接。请参阅: http ://docs.phonegap.com/en/1.9.0/cordova_connection_connection.md.html

于 2012-07-19T12:52:03.633 回答
1

如果调用了成功回调,那么您最好检查响应参数的 null 和/或长度。如果您发现 null 或零长度,则假设请求失败。

于 2012-07-22T09:25:08.270 回答