2

使用 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" />

我究竟做错了什么?非常感谢。

4

1 回答 1

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" />
于 2013-08-02T06:41:42.457 回答