我的Ajax的Phonegap脚本没有连接到远程服务器,为什么?

时间:2017-06-16 13:05:48

标签: php ajax cordova server phonegap

我正在通过phonegap启动网络应用,并且我正在测试远程服务器连接。猜猜看,它确实有效!我不知道为什么。 它使用浏览器,但没有使用我从脚本制作的phonegap应用程序。我看了互联网,论坛等,我没有找到任何解释。也许是因为我使用的共享服务器(OVH.FR),但我不确定...

帮助!谢谢!

这是我的档案:

index.html

    <!DOCTYPE html>
    <html>
      <head>

<title>Test software</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<script src="./req/jquery/jquery/jquery-2.1.0.min.js"></script>
<script src="./req/jquery/mobile/jquery.mobile-1.4.5.min.js"></script>
<link rel="stylesheet" type="text/css" 
href="./req/jquery/mobile/jquery.mobile-1.4.5.min.css" />

        <script>
    /* ------------------------------------------------ */
    $(document).ready(function(){
    $.ajax({
        url : 'http://test.dexterin.com/intro/introConnexion.php', 
        cache: false,
        type : 'POST',
        dataType : 'xml',
        success : function(xml) { 
          $("#mainPageContent").append("<p>Connected !</p>");
        },
        error : function(xml) {
          $("#mainPageContent").append("<p>No response from ajax</p>");
        }
      }); // Fin ajax
    });
    /* ------------------------------------------------ */
        </script>
      </head>
      <body>
        <div data-role="page" data-theme="a" id="mainPage">
          <div role="content" class="ui-content" id="mainPageContent">
            <p>Initialisation du logiciel ...</p>
          </div>      
        </div>
      </body>
    </html>  

config.xml中

<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns   = "http://www.w3.org/ns/widgets"
    xmlns:gap   = "http://phonegap.com/ns/1.0"
    id          = "com.phonegap.example"
    versionCode = "10"
    version     = "0.0.1" >

<!-- versionCode is optional and Android only -->

  <name>TEST App</name>

  <description>
      A test for phonegap app
  </description>

  <author href="https://build.phonegap.com" email="support@phonegap.com">
      Hardeep Shoker
  </author>

  <access origin="http://test.dexterin.com/" subdomains="true" />

</widget>

introConnexion.php

<?
session_start();
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: POST,GET"); // ,OPTION
header("Access-Control-Allow-Headers: content-type");
header("Access-Control-Allow-Headers: NCZ");
header("Content-type: text/xml;charset=utf-8");
date_default_timezone_set('France/Paris');
echo "<?xml version = \"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\n";
?>
<root>
<element>OK</element>
</root>

1 个答案:

答案 0 :(得分:0)

您必须安装白名单插件才能使访问标记生效。

使用cordova plugin add cordova-plugin-whitelist

进行安装