当前位置: 代码迷 >> Android >> android + phonegap + jquerymobile 如何实现跨域访问
  详细解决方案

android + phonegap + jquerymobile 如何实现跨域访问

热度:363   发布时间:2016-05-01 14:17:32.0
android + phonegap + jquerymobile 怎么实现跨域访问
最近需要对一个b/s系统,做一个手机应用。手机选择android2.3.3版本。
为了了开放简单,使用phonegap框架,这样可以直接用html开放手机应用了。

手机需要获取服务器上的数据和更新数据到服务器上。

我在b/s系统开放了一个页面(android.aspx)来获取数据 和 更新数据

通过手机上html5页面来访问这个开放的页面.
代码:
HTML code
<!DOCTYPE html><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />    <meta name="viewport" content="width=device-width,height=device-height, initial-scale=1, maximum-scale=1, user-scalable=no"/>    <title>XXXX创建系统</title>    <link href="scripts/jquery.mobile/jquery.mobile-1.1.0.min.css" rel="stylesheet" type="text/css" />    <script src="scripts/jquery.mobile/jquery.js" type="text/javascript"></script>    <script src="scripts/jquery.mobile/jquery.mobile-1.1.0.min.js" type="text/javascript"></script></head><body>    <div data-role="page" id="home">        <div data-role="header" data-position="fixed">            XXXXX        </div>        <div data-role="content" style="width: 100%; height: 100%; padding: 0px;">            <script type="text/javascript">//            function ajaxGet()//            {//               var AjaxUrl = "http://localhost:52309/APIMobile/Android.aspx?AjaxType=GetTask&UserID=Adminsys&jsoncallback=?"; //               $.getJSON(AjaxUrl, function (Json) { alert(Json.VoteID); alert(Json.VoteName); }); //            }            function ajaxGet()            {  $.ajax({            type : "GET",            url : "http://localhost:52309/APIMobile/Android.aspx?AjaxType=GetTask&UserID=Adminsys&jsoncallback=?",            dataType : "jsonp",            jsonp: 'jsoncallback',            success : function(Json)            {                alert(Json.VoteID);                 alert(Json.VoteName);                return true;            }        });            }            </script>            <a href="javascript:void()" onclick="ajaxGet()">ddddd</a>        </div>        <div data-role="footer" data-position="fixed">            <div data-role="navbar" data-iconpos="bottom">                <ul>                    <li><a href="#home" data-icon="grid" data-transition="none">获取任务</a></li>                    <li><a href="#new" data-icon="star" data-transition="none">投票</a></li>                    <li><a href="#travellist" data-icon="gear" data-transition="none">信息采集</a></li>                </ul>            </div>        </div>    </div></body></html>


出现如下问题:
如果直接用浏览器运行上面html5页面,能获取到服务上数据。

如果在安卓的模拟器上运行,发现不能成功,提示如下错误:07-13 08:01:26.036: E/Web Console(408): SyntaxError: Parse error at undefined:1

这怎么回事,是跨域访问造成的吗,怎么解决

------解决方案--------------------
模拟器上面貌似不能用localhost
------解决方案--------------------
phonegap是跨平台的,不过最近才起步,用的人还不多啊,我也才学习,还不知道是什么原因,不过你试一试换下端口或者直接用IP地址来访问呢!
------解决方案--------------------
直接用ip地址。
------解决方案--------------------
127.0.0.1试试看管不管用
  相关解决方案