2011-01-07 63 views
0

我一直在阅读一个名为Adding SQL Database support to your iPhone App的教程(我使用PhoneGap是因为我无法获得Objective-C),我已经完成了这一切,但现在当我尝试显示结果(celebsDataHandler)这样就显示什么:显示使用Javascript的SQL查询的结果

<script type="text/javascript" charset="utf-8" src="db.js"></script> 
<script type="text/javascript" charset="utf-8"> 
    document.write(celebsDataHandler); 
</script> 

我应该怎么做来解决这个问题?

回答

1

celebsDataHandler似乎是一个函数,根据教程的说明。你不能document.write的功能。

您是否尝试过使用更多功能的命令,如console.log来查看celebsDataHandler的值是多少?

或者,您不妨函数的最后一行从

alert(html); 

改变

return html; 
0

首先,你需要有您的文档的某些部分设置成处理显示名人,为这个例子。请确保你在你的HTML页面有一个可以参考的ID的DOM元素,例如:

 
<div id="myCelebs"></div> 

接下来,改变celebsDataHandler函数的最后一行:

 
document.getElementById('myCelebs').innerHTML = html; 

最后在你的内联脚本,改变你的document.write呼吁:

 
loadCelebs(); 

回顾一下这是怎么回事:

  • loadCelebs函数包含查询数据库并检索数据的SQLite代码。它引用回调函数(在这种情况下名为celebsDataHandler),一旦数据准备好被解析,就会调用它。
  • celebsDataHandler回调函数对结果进行迭代并将名人数据编译为HTML - 然后将其注入到“myCelebs”DOM元素中。

希望有帮助。