手机上的AJAX响应为空,但在桌面浏览器测试中是正确的

时间:2013-08-25 16:02:29

标签: javascript cordova

所以我有一个托管PHP文件的服务器,如下所示:

<?php
    header('Access-Control-Allow-Origin: *');
?>
Testing, testing

然后我在我的PhoneGap索引文件中有一个AJAX请求,文档就像这样:

    $.ajax({
        type       : "GET",
        url        : "http://example.com/PhoneGap/test.php",
        crossDomain: true,
        success    : function(response) {
            alert("\""+response+"\"");
        },
        error      : function() {
            alert('Not working!');
        }
    });

但是每当应用程序启动时(在Android上),弹出的所有内容都是一个包含“”的警报窗口。但是,当我在桌面浏览器上运行索引页面时,我会得到“测试,测试”,这就是我的期望。

那么,有谁知道我做错了什么?任何帮助将不胜感激。

[解决]我遇到的问题是我没有在config.xml文件中将我的域列入白名单。这个问题在本文的评论中得到了解决,因此没有帖子标记答案,如果你遇到这个问题,请仔细阅读评论,你会看到它是如何解决的。

1 个答案:

答案 0 :(得分:0)

考虑使用JSONP - 跨域Ajax非常不可靠。也许Android中的WebKit不支持跨域标志。