phonegap / cordova windows 8 ajax错误?

Posted

技术标签:

【中文标题】phonegap / cordova windows 8 ajax错误?【英文标题】:phonegap / cordova windows 8 ajax error? 【发布时间】:2015-04-07 15:03:13 【问题描述】:

我有一个进行 jqm ajax 调用的 cordova 应用程序。它适用于 androidios 和 WP8。但是,当我为 Windows 8 构建和运行时,ajax 调用失败并出现 404 错误。

我有最新的 windows 平台版本: phonegap --版本 4.2.0-0.23.0

playtform 版本为 3.7.1

代码是这样的:

    $.ajax(
    url: 'http://ip.jsontest.com/',
    dataType: 'jsonp',
    jsonp: 'jsoncallback',
    timeout: 5000,
    success: function (data, status) 
        //handle your data
        navigator.notification.alert('good', null, 'good', 'done');
    ,
    error: function (ed) 
        navigator.notification.alert(
            JSON.stringify(ed),
            null,
            'Error',
            'Done'

        );
    
);

调用 getUserDataFail 时出现错误: "\"readyState\":4,\"status\":404,\"statusText\":\"error\""

我尝试将以下内容添加到我的 DeviceReady 顶部: $.support.cors = true; $.mobile.allowCrossDomainPages = true; $.mobile.phonegapNavigationEnabled = true;

我的 config.xml 中还有以下内容:

机器确实可以上网,并且网址有效。

【问题讨论】:

【参考方案1】:

事实证明,更多的研究让我回答了自己的问题。 错误“应用程序无法在本地上下文中加载远程 Web 内容”被发送到其中一个调试窗口中。

就我而言,我不需要真正使用 JSONP。将调用更改为不指定 jsonp 解决了问题:

        $.ajax(
    url: 'http://ip.jsontest.com/',
    timeout: 5000,
    success: function (data, status) 
        //handle your data
        navigator.notification.alert('good', null, 'good', 'done');
    ,
    error: function (ed) 
        navigator.notification.alert(
            JSON.stringify(ed),
            null,
            'Error',
            'Done'

        );
    
);

以上工作正常。我希望这可以节省其他人的搜索时间。

【讨论】:

非常感谢,我浪费了 4 个小时以上的时间来寻找解决方案。你的成功了!

以上是关于phonegap / cordova windows 8 ajax错误?的主要内容,如果未能解决你的问题,请参考以下文章

MPNS 错误请求 Windows Phone 8.1 (Cordova/Phonegap)

如何在推送插件 PhoneGap/Cordova 4.0 中替换 window.plugin(已弃用)?

如何通过绝对路径访问我的应用程序文件 - windows phone - Phonegap/Cordova

WINDOWS下PhoneGap(Cordova)安装笔记

使用 Cordova/Phonegap 保存从手机摄像头拍摄的图像 Windows Phone 7

PhoneGap 应用程序上用于 Apache Cordova 的 Windows Azure 通知中心插件 - 未定义 WindowsAzure