PhoneGap中文网

 找回密码
 立即注册
查看: 19993|回复: 4
打印 上一主题 下一主题

cordova+sqlite离线应用与+跨域访问服务数据问题

[复制链接]

1

主题

2

帖子

15

积分

新手上路

Rank: 1

积分
15
跳转到指定楼层
楼主
发表于 2015-4-9 22:29:21 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
目前我在使用angularjs +cordova+sqlite,进行移动设备开发,碰到以下两三个问题还请各位高手解答一下:
1.我在使用sqlite离线验证时,在回调方法中跳转页面,第一次点击未反应,需要连接点击两次。

2.我在使用angularjs与服务器端数据交互时,不能正常通信,我在模拟器的浏览器是可以访问服务器地址,两个问题的代码如下:
  1. db = storage.createDB();
  2.         db.transaction(function (tx) {
  3.             tx.executeSql("select * from userInfo where email=?", [$scope.login.loginId], function (tx, rs) {
  4.                 if (rs.rows.length > 0) {
  5.                    var ret= rs.rows.item(0);
  6.                            if (ret.password == $scope.login.Password) {                                           
  7.                                          tx.executeSql("update userInfo set isRember=? where email=?", [$scope.login.RememberMe ? 1 : 0, $scope.login.loginId],function(tx,rs){
  8.                                         
  9.                                                  toastr.success('离线登录成功,系统将自动跳转至主页面!');                                                
  10.                                                  $location.path('/loginhome');
  11.                                                 
  12.                                          });                                                                                   
  13.                             } else {
  14.                                 toastr.error('用户名或密码错误,请重新输入!');
  15.                             }
  16.                    // storage.put('offInfo', angular.toJson({ offPwd: rs.rows.item(0).password, offName: rs.rows.item(0).name, offexp: rs.rows.item(0).exp, isLogin: true }));
  17.                 } else {
  18.                     //离线没有存储.
  19.                     var url = 'http://gleazweb005.chinacloudsites.cn/Apps/VerifyPasswordByEmail?Email=' + $scope.login.loginId + '&Password=' + $scope.login.Password + '&callback=JSON_CALLBACK';
  20.                     $http.jsonp(url).success(function (d) {
  21.                         $rootScope.loading = false;
  22.                         if (d.sta == true) {
  23.                             toastr.success('登录成功,系统将自动跳转至主页面!');
  24.                             tx.executeSql("Insert into userInfo(email,password,name,school,sex,createTime,exp,isRember)values(?,?,?,?,?,?,?,?)"
  25.                                                             , [d.obj.Email, escape($scope.login.Password), d.obj.Name, d.obj.School
  26.                                                             , angular.isUndefined(d.obj.Speicalty) ? '' : d.obj.Speicalty
  27.                                                             , angular.isUndefined(d.obj.teachInID) ? '' : d.obj.teachInID
  28.                                                             , d.obj.sex, new Date().getTime(), parseInt(d.exp), $scope.login.RememberMe ? 1 : 0], function (tx, rs) {
  29.                                                                
  30.                                  $location.path('/loginhome');
  31.                              });

  32.                         } else {
  33.                             $rootScope.loading = false;
  34.                             toastr.error('登录失败,原因:' + d.obj);

  35.                         }

  36.                     }).error(function (d, status, headers, config) {
  37.                         $rootScope.loading = false;
  38.                         toastr.error('登录发生错误' + d);
  39.                     });
  40.                 }               
  41.             });
  42.         });
复制代码

回复

使用道具 举报

0

主题

54

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
5#
发表于 2015-12-9 21:12:31 | 只看该作者
回复 支持 反对

使用道具 举报

27

主题

172

帖子

597

积分

高级会员

Rank: 4

积分
597
地板
发表于 2015-4-13 22:12:23 | 只看该作者
lvoers 发表于 2015-4-12 20:07
嗯,第一个问题代码少也是这样.

是的,第二个问题是涉及到跨域的问题,所以我采用了SONP方式,同时我在 ...

调试手机上使用的代码用谷歌 不要用ie
回复 支持 反对

使用道具 举报

1

主题

2

帖子

15

积分

新手上路

Rank: 1

积分
15
板凳
 楼主| 发表于 2015-4-12 20:07:37 | 只看该作者
跨平台移动开发 发表于 2015-4-10 22:57
1.第一个问题  你控制台调试 调试,代码一次不要写很多再去调试

2.第二个问题是不是涉及到跨域问题 ...

嗯,第一个问题代码少也是这样.

是的,第二个问题是涉及到跨域的问题,所以我采用了SONP方式,同时我在控制台打开IE是可以访问我服务器的地址的..
回复 支持 反对

使用道具 举报

27

主题

172

帖子

597

积分

高级会员

Rank: 4

积分
597
沙发
发表于 2015-4-10 22:57:15 | 只看该作者
1.第一个问题  你控制台调试 调试,代码一次不要写很多再去调试

2.第二个问题是不是涉及到跨域问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-11-25 23:00 , Processed in 0.039753 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表