首页 新闻 赞助 找找看

phonegap使用ajax跨域请求在浏览器中正常取值,在安卓模拟器中失败是怎么回事啊?

0
悬赏园豆:80 [已关闭问题] 关闭于 2016-05-31 08:49

主要的代码和数据如下,在浏览器浏览网页的时候,可以正常的取得数据,但是在安卓模拟器中却什么都取不到,请教一下这是怎么回事?
js代码

$.ajax({
  type : "get",
  async:false,
  url : "http://127.0.0.1:6001/GetUsers.ashx",
  dataType : "jsonp",
  crossDomain: true,
  jsonp: "callbackparam",//服务端用于接收callback调用的function名的参数
  contentType: "application/json;utf-8",
  jsonpCallback:"success_jsonpCallback",//callback的function名称
  success : function(json){
    $("#uname").html(json[0].uname);
  },
  error:function(){
    alert('fail');
  }
});

 

后台代码
public void ProcessRequest(HttpContext context)
{
  context.Response.ContentType = "text/plain";
  String callbackFunName = context.Request["callbackparam"];
  //从数据库中取数据的代码就省略了,只贴出了和主题相关的代码
  string json = callbackFunName + "(" + JsonConvert.SerializeObject(ds.Tables[0]) + ")";
  context.Response.Write(json);
}

 

数据
([{"uid":1,"uname":"吴迪","uage":"24","usex":"男"},{"uid":2,"uname":"小小","uage":"25","usex":"女"}])

 

添加白名单
<access origin="http://127.0.0.1*"/>

 

wudigg的主页 wudigg | 初学一级 | 园豆:12
提问于:2014-12-26 18:22
< >
分享
所有回答(4)
0

同学,你这是在开玩笑?"http://127.0.0.1:6001/GetUsers.ashx"能访问到服务端?APP首先肯定是C/S的模式,先分清楚哪个是客户端哪个是服务端~

汪磊 | 园豆:186 (初学一级) | 2014-12-26 23:51

127.0.0.1是用vs在本地开启的,相当于服务端,app用的phonegap

支持(0) 反对(0) wudigg | 园豆:12 (初学一级) | 2014-12-27 08:51

@wudigg: 懂不懂什么是本地回环地址?127.0.0.1能访问到服务端

支持(0) 反对(0) 汪磊 | 园豆:186 (初学一级) | 2014-12-27 10:05
0

纠结啥啊 把失败原因显示出来就是啊

error:function(res){     alert(res.ResponseText);   }

丫的 | 园豆:1575 (小虾三级) | 2014-12-27 10:48
0

http://127.0.0.1:6001/GetUsers.ashx

换成

http://localhost:6001/GetUsers.ashx

试试看.

hexllo | 园豆:318 (菜鸟二级) | 2014-12-29 15:39
0

第一,用真机测试

第二,后端搭建要接近生产环境,不要搞什么本地测试之类

第三,没以上条件也要努力创建条件

第四,最新版的PG可以直接post,我也不清楚是什么原因,之前的版本似乎不行,但最新PG的我在项目里直接post了没问题。

lzt | 园豆:202 (菜鸟二级) | 2014-12-31 10:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册