Phonegap:ajax + jsonp 在 PC 上工作但在 Android 上不工作
Posted
技术标签:
【中文标题】Phonegap:ajax + jsonp 在 PC 上工作但在 Android 上不工作【英文标题】:Phonegap: ajax + jsonp working on PC but not in Android 【发布时间】:2013-04-02 23:20:47 【问题描述】:使用 Cordova 2.5.0 + jQuery 1.91,我正在尝试解析远程 JSON
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
$.ajax(
url: 'http://sub.foo.com/json.php?callback=?',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status)
alert("OK");
,
error: function()
alert("Error");
);
在我的桌面 Chrome 浏览器上运行正常,但在我的 android 模拟器上运行不正常(“错误”消息)。
我确实在“AndroidManifest.xml”上设置了权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
在“config.xml”上
<access origin="http://sub.foo.com" />
我做错了什么?非常感谢。
【问题讨论】:
没有人吗? :(我也遇到了同样的问题..你解决了吗? 我也有同样的问题 【参考方案1】:在 res/xml/cordova.xml 文件中添加以下行
<access origin="http://127.0.0.1*"/> <!-- allow local pages -->
<access origin="http://192.168.1.211*" subdomains="true"/>
<access origin="http://70.38.120.153:240*" subdomains="true"/>
<!-- <access origin="https://example.com" /> allow any secure requests to example.com -->
<!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www -->
<access origin=".*"/>
<log level="DEBUG"/>
<preference name="useBrowserHistory" value="true" />
<preference name="exit-on-suspend" value="false" />
【讨论】:
以上是关于Phonegap:ajax + jsonp 在 PC 上工作但在 Android 上不工作的主要内容,如果未能解决你的问题,请参考以下文章