phonegap + php不起作用

时间:2014-03-25 10:22:53

标签: javascript php android cordova

我想用eclipse和android模拟器在phonegap中加载php中的文本。 我不知道我做错了什么。

我的代码index.html:

<html>
  <head>
    <script src="cordova.js"></script>
    <script>
       var xmlhttp;
       window.onload = function(){
        document.addEventListener("deviceready", init, false);
       };

       function init(){
         var url = "http://localhost/php-handyAPP/phpinfo.php";
         xmlhttp = new XMLHttpRequest();
         xmlhttp.onreadystatechange = function(){
           alert ( xmlhttp.readyState);
           if(xmlhttp.readyState == 4 && xmlhttp.readyState == 200)
           {
              document.getElementById("result").innerHTML = xmlhttp.responseText;
           } else {
               document.getElementById('result').innerHTML = "Error loading page ";
             }
         };
         xmlhttp.open("GET", url , true);
         xmlhttp.send(null);
     };
     </script>
     <title>phonegap + php</title>
    </head>

    <body>
       <div id="result"></div>
    </body>

</html>

我的php代码 - phpinfo.php:

<?php
echo 'Hello World';
?>

我的config.xml

 <access origin="*"/>  

我的AndroidManifest.xml

 <uses-permission android:name="android.permission.INTERNET" />

我来自if语句&#34;错误加载页面&#34;在android模拟器中。

2 个答案:

答案 0 :(得分:0)

PhoneGap没有PHP服务器。

在您尝试加载位于localhost的php页面的代码中:var url = "http://localhost/php-handyAPP/phpinfo.php";

在这种情况下,Localhost是你的模拟器,我猜模拟器上没有PHP服务器。

如果PHP托管在本地计算机上(运行模拟器的地方),那么您可以尝试:

var url = "http://10.0.2.2/php-handyAPP/phpinfo.php";相反,但我不承诺它会起作用。

可能重复:Android SDK Connect to Web Server on Host

答案 1 :(得分:0)

您应该在要调用的php文件中添加此代码

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

添加它,它肯定会起作用。