javascript - 我的 PhoneGap 应用程序无法访问我的 Web 服务

标签 javascript android json cordova phonegap-build

我正在为我在社区phoneGap 网站上发布的问题寻求帮助:

http://community.phonegap.com/nitobi/topics/my-phonegap-app-cannot-access-my-web-service?rfm=1

但总的来说,我正在用我的phoneGap应用程序慢慢测试水域,我想访问我的服务器上的JSON文件并解析它并在我的应用程序中发出警报。到目前为止我还无法让它发挥作用。

我尝试过的事情: 1)在我的phoneGap文件的config.xml文件中,我有以下标签:access origin =“http://104.236.6.175”subdomains =“true”

2)使用 JavaScript 访问 JSON 文件有多种不同的方式,但目前这是我的代码:

$("#requestJSON").click(function () {
    var xmlhttp = new XMLHttpRequest();
    var url = "http://104.236.6.175/test/test1.json";

    xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      var myArr = JSON.parse(xmlhttp.responseText);
      myFunction(myArr);
     }
    }

    xmlhttp.open("GET", url, true);
    xmlhttp.send();
    function myFunction(arr) {
    var out = "";
    var i;
    for(i = 0; i < arr.length; i++) {
    out += '<a href="' + arr[i].url + '">' +
    arr[i].display + '</a><br>';
    }

    alert(out);
    $("#resultLog").html(out);
    }


    });

非常感谢任何帮助。谢谢。

最佳答案

我发现您正在使用 jQuery。如果您还在 UI 框架中使用 jQuery Mobile,则需要调用 $.mobile.allowCrossDomainPages = true;收到设备就绪通知后。您还可以将访问标记设置为 <access origin="*" />允许一切并稍后进行微调。

此外,使用 jQuery,访问返回 JSON 数据的更简洁方法可能如下所示:

$.get("http://104.236.6.175/test/test1.json", function (data, status) {
    var arr = JSON.parse(data);
});

关于javascript - 我的 PhoneGap 应用程序无法访问我的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489099/

相关文章:

javascript - Comprobating功能不能正常工作

javascript - 单击饼图切片图例时设置不同点的颜色

java - 模拟器 Oreo 和真实设备上的 INSTALL_FAILED_NO_MATCHING_ABIS

android - 通过 Youtube 应用将视频转换到 ChromeCast

javascript - 无法将 HTML 数据属性值解析为 Javascript 对象

javascript - 如何恢复 Angular 1 Ng 模型的变化

php - Youtube API v3-检索 channel 名称

javascript - 使用 Django 和 extjs 进行分页

javascript - 从 AudioBufferSourceNode 中删除已结束的监听器的可靠方法是什么?

android - 操作按钮未显示在通知中