我的cordova应用程序有问题。我有一个带有JSON输出的迷你REST服务的php页面,我想在我的应用程序中使用这个结果。
Php页面:
<?
header("Content-Type:application/json");
function response($status, $status_message, $data){
header("HTTP/1.1 $status $status_message");
echo $data;
}
$link = mysqli_connect("db4free.net", "luigi", "nzor4csv4", "usl5");
if (mysqli_connect_errno()) {
response(400, "Failed to connect to MySQL", mysqli_connect_error());
}
if( !empty($_GET['prestazioni']) ){
//make response using database
$result = mysqli_query($link,"SELECT DISTINCT `ppasez_descrizione` FROM `prestazioni`");
$arr = array();
while($obj = mysqli_fetch_assoc($result)) {
$arr[] = $obj;
}
$message= json_encode($arr);
response(200, "lista prestazioni", $message);
} else {
//invalid request
response(400, "invalid request", NULL);
}
?>
html页面:
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="cordova.js"></script>
<link rel="stylesheet" href="js/libs/jquery-mobile/jquery.mobile.css" />
<script type="text/javascript" src="js/libs/jquery/jquery.js"></script>
<script type="text/javascript" src="js/libs/jquery-mobile/jquery.mobile.js"></script>
<script type="text/javascript" src="js/mainjs.js"></script>
<script>
$(document).ready(function(){
$.support.cors=true;
$.mobile.allowCrossDomainPages = true;
$("button").click(function(){
$.getJSON('http://www.****.it/provaluigi/index.php?prestazioni=""',function(data){
$.each(data, function(i, dat){
$("ul").append("<li>"+dat.ppasez_descrizione+"</li>");
});
$('ul').listview('refresh');
//if $("list") do $("list").listview("refresh);
});
});
});
</script>
<title>
Prestazioni
</title>
</head>
<body>
<section id="page1" data-role="page" data-fullscreen="true">
<div class="content" data-role="content">
<ul data-role="listview" data-filter="true" data-filterplaceholder="cerca prestazione">
</ul>
</div>
</section>
</body>
此代码在本地域上工作完美,但我无法在cordova中看到结果。
如你所见,我插入:
$.support.cors=true;
$.mobile.allowCrossDomainPages = true;
和
<access origin="*"/>
在config.xml中允许跨域请求。
当我使用&#34; ripple扩展&#34;进行镀铬测试时我注意到2个错误:
Failed to load resource http://localhost:8383/Centri%20USL/config.xml
和
Failed to load resource: net::ERR_EMPTY_RESPONSE http://localhost:8383/Centri%20USL/cordova.js
因此可能在cordova包的链接中存在一些错误,但我使用netbeans所以它都是自动的。 有人可以帮我找到错误吗?
谢谢大家
答案 0 :(得分:0)
答案 1 :(得分:-1)
可能是因为您尝试仅使用localhost
访问并且没有真正的计算机名称而导致错误。输入您的主机名或IP地址。
这意味着您需要将http://localhost:8383/
更改为http://192.168.1.1:8383/
或http://fastbox:8383