嗯,這是我的解決方案和工作完美無瑕:
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響應。 –