我想用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模拟器中。
答案 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";
相反,但我不承诺它会起作用。
答案 1 :(得分:0)
您应该在要调用的php文件中添加此代码
<?php header('Access-Control-Allow-Origin: *'); ?>
添加它,它肯定会起作用。