我正在尝试使用 PhoneGap 和 JQuery Mobile 将移动 Web 应用程序打包到 iOS 应用程序中。该应用程序使用 Datajs 向另一个站点发出 OData 请求。我已在 Cordova.plist 中将外部主机设置为“*”,并且在通过 Web 浏览器使用相同文件时请求工作正常。
问题在于,一旦将其打包到 iOS 应用程序中,OData.read() 函数就会被完全跳过,就像它们根本不存在一样。这是导致问题的代码:
var myURI = baseURL + "GetIndustries";
console.log("before request");
OData.read({requestUri: myURI, username: username, password: password}, function (data){
console.log("successful request");
for (var i=0; i<data.results.length; i++) {
industries[i]=data.results[i];
}
}, function(err){
console.log("error: "+err);
});
console.log("after request...");
运行应用程序时,日志输出为:
2012-12-21 11:05:48.104 opportunities[298:907] Multi-tasking -> Device: YES, App: YES
2012-12-21 11:06:04.791 opportunities[298:907] [LOG] before request
2012-12-21 11:06:04.806 opportunities[298:907] [LOG] after request...
对我来说,这表明它完全跳过了 OData 函数,甚至是错误处理。我正在使用 JQueryMobile 的 datajs-1.1.0 和 1.2.0 版。
任何帮助或指示将不胜感激。谢谢。