Javascript PhoneGap构建和XMLHttpRequest

Javascript PhoneGap构建和XMLHttpRequest,javascript,html,xmlhttprequest,phonegap-build,Javascript,Html,Xmlhttprequest,Phonegap Build,作为背景-在此之前,我为iOS编写了一些本机应用程序(Swift),但这是我第一个使用PhoneGap的应用程序。我的目标是运行安卓5.0的华为P8Lite。我正在使用PhoneGap构建 所以我的问题是: 我在Web服务器上运行了一些cgi脚本。 我可以通过打开一个特定的网站来执行这些脚本。 我编写了一个小javascript函数,它向服务器发送一个HttpRequest。PhoneGap构建用于从我的html代码生成应用程序 问题是,它在我的笔记本电脑上运行良好(通过电缆连接,或通过WIFI

作为背景-在此之前,我为iOS编写了一些本机应用程序(Swift),但这是我第一个使用PhoneGap的应用程序。我的目标是运行安卓5.0的华为P8Lite。我正在使用PhoneGap构建

所以我的问题是: 我在Web服务器上运行了一些cgi脚本。 我可以通过打开一个特定的网站来执行这些脚本。 我编写了一个小javascript函数,它向服务器发送一个HttpRequest。PhoneGap构建用于从我的html代码生成应用程序

问题是,它在我的笔记本电脑上运行良好(通过电缆连接,或通过WIFI),但只要我在我的手机上试用(通过WIFI),它就什么也做不了。 以下是我的功能:

function openGate() {
    var xhttp;
    if (window.XMLHttpRequest) {
        xhttp = new XMLHttpRequest();
    } else {
        alert("Error");
    }
    xhttp.open("GET", "http://172.17.113.100/cgi-bin/main.py?mod=door&op=open", "true");
    xhttp.send(null);
}
关联的HTML文件已加载到我的移动设备上。按下按钮时调用此函数。以下是相关代码:

<!DOCTYPE html>
<html>
<head>
    <title>Steuerung-Screen</title>
    <scripe src="js/steuerung.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="css/steuerung.css" />
</head>
<body>
    <div class="Steuerung">
        <h1>Steuerung</h1>
    </div>
<div class="Control">
    <table>
        <tr>
            <td>
                <button type="button" id="up" onClick="openGate();"> <img src="img/Arrow_Up_nice.png" alt=""> </button>
            </td>
        </tr>
     </table>
</div>
</body>

斯特隆屏幕
斯特隆

谢谢你的时间和帮助

@f-daniel,
你有一些常见的错误

  • 未设置生成的版本。这有破坏代码的副作用,并且没有博客文章让你知道这一点。尝试通过
    phonegap version
    为您的构建设置版本。设置插件的版本

  • “不设置版本”的一个副作用是您必须使用
    白名单
    插件和相关部分。它没有很好的记录。(我有笔记。请参见下文。)注意:这可能会让您立即修复。

  • 打开网站插座时要小心。(注意,这是获得数据的推荐方式。但是,如果谷歌或苹果认为你正在编写网站包装,他们可能会拒绝你的应用。(注意:我在下面的链接中直接引用了苹果的话。)

  • 要修复:

    在#1上,阅读:

    • config.xml
    • config.xml
    • config.xml
    On#2, 您需要应用
    白名单
    系统。自(2015年4月21日)起需要该系统。对于Phonegap构建,这意味着自(2015年6月16日)

    将其添加到您的
    config.xml

    <plugin name="cordova-plugin-whitelist"      source="npm" spec="1.1.0" />
    <allow-navigation href="*" />
    <allow-intent href="*" />
    <access origin="*" /> <!-- Required for iOS9 -->
    
    注意,您的应用现在不安全。保护应用的安全取决于您。

    当您准备好让应用程序安全时,请阅读以下内容:

    在#3上, 阅读第5页(特别是第5页的最后一部分,请参阅苹果的引文)


    现在太累了,无法添加。我将在12小时后检查此问题。

    您是否正在使用
    白名单
    插件?不,我不会,但我会尝试使用它并允许所有域请在您的帖子中回答以下问题。这是您的第一个应用程序吗?您的目标平台和目标版本是什么?Android 4,5,6?iOS 7,8,9?您正在使用吗?O如果你在帖子中回答了问题,请在评论中回复,这样我就知道你已经在帖子中添加了信息。还有更多问题我已经添加了所需的信息,谢谢你的帮助谢谢,我已经对文章的可读性做了一些微度的重新格式化。你也可以将此详细信息添加到你的帖子中吗?从服务器加载的页面-它有som不清楚的是你发布的代码,是来自服务器的代码,加载到移动设备上吗?是这样的序列吗?这就是你正在发生的事情吗?同样,请在你的帖子中回答以下问题,并用评论跟进
    <meta http-equiv="Content-Security-Policy" 
             content="default-src *; 
                      style-src * 'self' 'unsafe-inline' 'unsafe-eval'; 
                      script-src * 'self' 'unsafe-inline' 'unsafe-eval';">