首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Datajs OData.read函数不通过PhoneGap触发

Datajs OData.read函数不通过PhoneGap触发
EN

Stack Overflow用户
提问于 2012-12-21 11:37:10
回答 1查看 727关注 0票数 0

我正在尝试使用iOS和PhoneGap移动将一个移动web应用程序打包到一个应用程序中。应用程序使用Datajs向另一个站点发出OData请求。我已经在Cordova.plist中将外部主机设置为“*”,当通过web浏览器使用相同的文件时,请求可以正常工作。

问题是,一旦打包到iOS应用程序中,OData.read()函数就会被完全跳过,就好像它们根本不存在一样。造成问题的代码如下:

代码语言:javascript
复制
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...");

在运行应用程序时,日志输出如下:

代码语言:javascript
复制
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函数,甚至是错误处理。我使用的是datajs-1.1.0和版本1.2.0的JQueryMobile。

任何帮助或指示都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-01-15 16:22:17

对我来说,这表明它完全跳过了OData函数

不对。对requestUri的AJAX请求是由datajs异步发送的。您所指的OData函数是一个回调函数,这意味着它将在稍后调用--即:当服务器组合了一个回复,而datajs已经接收到该答复时。

关于为什么您的回调函数从未被调用:请在调用OData.read时检查您的参数。小片段提供了一些示例。还可以看到OData.read的详细文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13989446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档