这是我的HTML代码:
<!DOCTYPE html>
<html>
<head>
<script src="jquery-2.1.1.js"></script>
<script charset="utf−8" type="text/javascript">
$.support.cors = true;
function connect(e) {
$.ajax({
url: 'http://192.168.0.100/xxx/index.php',
type: 'POST',
async: false,
crossDomain: true,
error: function(jqXHR,text_status,strError) {
alert("no connection");
},
timeout: 60000,
success: function(data) {
alert("success");
$("#result").html(JSON.stringify(data));
}
});
}
</script>
</head>
<body>
<center><b>Bikes or Cars</b></center>
<center><input onclick="connect(this.value)" type="button" value="cars" /></center>
<center><input onclick="connect(this.value)" type="button" value="bikes" /></center>
<center><b>Results</b></center>
<ul id="result"></ul>
</body>
</html>
PHP:
<?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Content-Range, Content-Disposition, Content-Description');
$choice =$_POST["button"];
$cars = array("Honde", "BMW" , "Ferrari");
$bikes = array("Ducaite", "Royal Enfield" , "Harley Davidson");
if($choice == "cars") print json_encode($cars);
else print json_encode($bikes);
?>
问题是当我从谷歌浏览器运行此代码时,响应是:
"[\"Ducaite\",\"Royal Enfield\",\"Harley Davidson\"]"
但是当我尝试从我的Android设备运行它时,我得到一个空字符串或null响应的响应。我现在不知道为什么 我已经添加了
<access origin="*" />
我的config.xml
和我的清单中的是
<uses-permission android:name="android.permissions.INTERNET" />
<uses-permission android:name="android.permissions.NETWORK_ACCESS" />
<uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />