我是这个jquery和phonegap的新手。我发现从本地服务器解析.php文件中的数据有点困难。请帮我这样做。
这是我的index.html页面:
<!DOCTYPE HTML>
<html>
<h2>JSON Parser</h2>
<script type="text/javascript" src="jquery.js"/></script>
<script type="text/javascript">
function parseJSON()
{
var json;
$.ajax({
type: 'POST',
url: 'http://192.168.1.12/training/services/login.php',
cache: false,
// data: $('#abc').serialize(),
dataType: 'json',
success: function(data){
alert(data);
$('#data').append(data);
}
});
}
</script>
</head>
<body onload="parseJSON()">
<p>Employee's Information</p>
<form id="abc" method ="post">
<div id="data"></div>
</form>
</body>
</html>
login.php文件包含一个示例json数据,如下所示:
{"username":"test@test.com","password":"password"}
答案 0 :(得分:0)
如果我理解正确,你可以这样做。 如果您的php页面将数据发送到您的html,您可以使用GET而不是POST
<!DOCTYPE HTML>
<html>
<h2>JSON Parser</h2>
<script type="text/javascript" src="jquery.js"/></script>
<script type="text/javascript">
function parse()
{
var json;
$.ajax({
type: 'GET',
url: 'http://192.168.1.12/training/services/login.php',
cache: false,
dataType: 'json',
success: function(data)
{
var obj = jQuery.parseJSON(data);
$('#data').html(obj["username"]);
}
});
}
</script>
</head>
<body onload="parse()">
<p>Employee's Information</p>
<form id="abc" method ="post">
<div id="data"></div>
</form>
</body>
</html>
答案 1 :(得分:0)
如果你想用php和ajax来获取数据,请使用jsonp,
在PHP文件中为json输出添加回调:
echo $_GET['callback'] . '('.json_encode($data).')';exit;
在你的ajax调用中支持回调
使用Javascript:
$.ajax({
url: 'http://192.168.1.12/training/services/login.php?callback=?',
cache: false,
type: "GET",
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
success: function(data) {
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
最后但并非最不重要的是,不要忘记为您的localhost添加域名白名单
corodova.xml中的:
<access origin="http://192.168.1.12"/> OR
<access origin="*"/> to allow all domains