jQuery .get()无法在单击事件函数回调中工作

时间:2013-07-08 09:34:21

标签: javascript android jquery cordova

我一直在与这个特殊问题作斗争,但无济于事。由于这是自由职业,我的脖子就行了,我需要你的帮助。

首先,我正在使用phonegap和jQuery 1.9.1创建一个应用程序。该应用程序上线并获得csv格式的行程并将其保存在应用程序中。 jQuery get()函数用于此。

这是奇怪的地方。在phonegap的DeviceReady事件中触发时,get函数工作正常,如下所示:

onDeviceReady: function() {
    $( document ).bind( "mobileinit", function() {
        $.mobile.allowCrossDomainPages = true;
    });
    $.get('http://dl.dropboxusercontent.com/u/53792213/App/DavidColson.csv', function(data) {
         alert('Success');
    }, "text")
    .fail(function(jqXHR, textStatus, errorThrown) {
        alert("An AJAX error occured: " + textStatus + "\nError: " + errorThrown);
     });
 });
},

正如您所看到的那样,跨域网页是允许的,因此一切运行顺利,我收到了“成功”提醒。

但是,如果我希望在某个事件上调用它,例如当用户点击某个按钮时,它将无效。请看下面的内容:

onDeviceReady: function() {
        $( document ).bind( "mobileinit", function() {
            $.mobile.allowCrossDomainPages = true;
        });

        $("#itineraryAddButton").bind("click", function(event) {
            alert("Event fired");
            $.get('http://dl.dropboxusercontent.com/u/53792213/App/DavidColson.csv', function(data) {
                alert('Success');
            }, "text")
            .fail(function(jqXHR, textStatus, errorThrown) {
                alert("An AJAX error occured: " + textStatus + "\nError: " + errorThrown);
            });
        });
    },

'event fired'警告触发,然后失败函数触发并告诉我发生了ajax错误,但是errorThrown字符串为空,没有给我任何线索。

为了使其更难修复,这只发生在物理Android设备上,它在浏览器和虚拟安卓设备上完美运行,使其无法调试。

如果您想了解有关软件版本的更多信息,请告诉我,以及您希望帮助我解决此问题的任何其他信息。

大卫

编辑:

https://dl.dropboxusercontent.com/u/53792213/itineraryapp.apk 这是一个下载链接到未签名的apk来试用。当应用程序打开时,单击“添加行程”,然后会出现一个框,您输入的内容无关紧要,单击“Go get it”触发get()函数并观察警报。

如果事件被触发,

'Hello' “成功”如果得到了解决 'ajax错误发生'如果它没有

0 个答案:

没有答案