我正在使用以下代码来提取数据,但没有任何反应。这是我的PHP代码。
$getall = "SELECT * FROM pages WHERE account_id=$id ORDER BY course_id";
$showall = @mysqli_query ($dbc, $getall); // Run the query.
$json = array();
if (mysqli_num_rows($showall) > 0)
{
while ($row=$showall->fetch_assoc()) {
$json[]=array(
'logged' => true,
'pagename'=>$row['pagename'],
);
} // end while
header("Content-Type: text/json");
echo json_encode(array( 'pages' => $json ));
}
这是运行应用程序的JS CODE。
sendit.open('GET', 'http://myurl.com/mypages.php');
sendit.send();
sendit.onload = function(){
var json = JSON.parse(this.responseText);
var json = json.pages;
var dataArray = [];
var pos;
for( pos=0; pos < json.length; pos++){
dataArray.push({title:'' + json[pos].pagename + ''});
// set the array to the tableView
tableview.setData(dataArray);
};
};
var tableview = Ti.UI.createTableView({
});
currentWin.add(tableview);
当我运行应用程序时,我得到的只是一张空白表。任何帮助将不胜感激。
答案 0 :(得分:1)
答案 1 :(得分:0)
你将数组嵌入到另一个数组中,所以在javascript方面它是:
dataArray.push({title:'' + json.pages[pos].pagename + ''});
^^^^^ - missing level
答案 2 :(得分:0)
发送it.send之前你应该有sendit.onload。
我还建议你实现sendit.onerror方法,以及中间件Ti.API.debug(stuff); 你也将json的声明加倍,但是工作正常,但不是很好。