我一直在与这个特殊问题作斗争,但无济于事。由于这是自由职业,我的脖子就行了,我需要你的帮助。
首先,我正在使用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错误发生'如果它没有