嗯,这是我的解决方案和工作完美无瑕:
PHP:
<?php
ini_set('magic_quotes_gpc', false);
header('Content-type: text/plain');
//DB connection credentials
$dbhost = 'hostname';
$dbuser = 'database_username';
$dbpass = 'database_password';
$dbname = 'database_name';
// allow cross-browser acces
header('Access-Control-Allow-Origin: *');
// query SQL
$sql = "do your DB query SELECT what ever here";
//do our thingies withouth hacks (SQL Injection, etc)
try {
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbh->query("set names utf8");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->query($sql);
$json_export = $stmt->fetchAll(PDO::FETCH_OBJ);
$dbh = null;
// return JSON format DATA
echo '{"items":'. json_encode($json_export) .'}';
} catch(PDOException $e) {
// return error
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
?>
HTML LISTVIEW:
<div data-role="page" id="myPage"><div data-role="content" id="myContent">
//my HTML list tag
<ul data-role="listview" id="myList"></ul>
</div></div>
JAVASCRIPT
//trigger script on show page
$('#myPage').live('pageshow',function (event) {
//get our JSON data
$.getJSON('path_to_your_php_json_generator_file_declared_upper',function(data){
//append our JSON data to a variable
var json_entries = data.items;
//for each JSON data, append it to our list as one element
$.each(json_entries,function(index,entry){
$('#myList').append('<li><a href="#">' + entry.title + '</a></li>');
//assuming we have a field named "title" in JSON data
});
//refresh the list for layout (style) loading
$('#myList').listview('refresh');
});
});
这就是你如何使用json数据生成的php文件填充jQuery Mobile上的列表。 即使使用参数(id,category等),您也可以将这种脚本适应jQuery代码中的每个JSON解释器!
希望它有助于这样或那样!
来源
2012-02-01 14:37:02
aki
尝试'的console.log()''的对象data'上,看它是否是DOM插入或JSON,也都是有问题的错误Firebug控制台 –
检查... – Rafay
这意味着你的PHP脚本有错误,你没有收到JSON响应。 –