我在javaScript中有这个菜单:
menu[1] = {
id: 'menu1', //use unique quoted id (quoted) REQUIRED!!
fontsize: '100%', // express as percentage with the % sign
linkheight: 22, // linked horizontal cells height
hdingwidth: 210, // heading - non linked horizontal cells width
// Finished configuration. Use default values for all other settings for this particular menu (menu[1]) ///
kviewtype: 'fixed',
menuItems: [ // REQUIRED!!
//[name, link, target, colspan, endrow?] - leave 'link' and 'target' blank to make a header
[prompt("add a note:", ""), "", ""]
]
};
我想用来自数据库的数据替换提示......
答案 0 :(得分:5)
由于您的页面是由您使用的任何服务器脚本生成的,因此请从数据库中获取数据并将其作为javascript的一部分进行操作。
无论你做什么,都不要试图直接从JAVASCRIPT连接到数据库。这样做将允许任何用户操纵javascript并在数据上运行他们想要的任何查询。
答案 1 :(得分:3)
http://bytes.com/topic/javascript/answers/532398-connect-access-database-using-javascript
正如CK所说,这是他们可以做的事情之一,但不应该。但是,自从您提问后,代码就在上面的帖子中。
答案 2 :(得分:0)
我会尝试详细说明ck建议的内容。 这不是微不足道的,我认为你需要:
这意味着你必须建立一些东西,仅用于菜单。
或者,您可以通过您选择的任何语言的脚本来机器生成初始化数据结构的JavaScript代码。 伪代码:
print "menu[1] = {"
print "id: 'menu1'"
//etc. for constant lines
//...
print "menuItems: ["
result_set = <local sql query>
for (row in result_set)
print "[ "
print row.name
print ", "
print row.link
print ", "
print row.target
print "]"
next
这不是动态的:它无法根据请求进行更新,您必须重新运行它并在服务器上替换生成的Javascript,但是如果数量级更容易实现(这还取决于您的专有技术和当然,服务器上的权限。)
答案 3 :(得分:0)
1创建一个ASP.NET服务器页面,其中包含所有菜单注释的XML。
例如
&lt;数据&GT;
&lt; note id = 1&gt;我的注释1&lt; / note&gt;
&lt; note id = 2&gt; etc ...&lt; / note&gt;
&LT; /数据&GT;
2修改.NET页面代码以从SQL获取笔记计数和注释文本,并将其合并到XML流中(将连接字符串保留在服务器上)。
3编写一些Javascript onLoad =代码,如果有必要设置菜单而没有开始的注释(因为其余的数据将稍微或稍后异步进入或根本不进入,具体取决于网络,当然不是立即onLoad =时间)。
4编写一些异步Javascript代码,用于下拉XML并使用XML的DOM模型对节点进行计数,拉出注释文本,将其推入正确位置的菜单对象并更新可见的对应部分如果适合,那就到那个菜单。
5如果AJAX不能在特定用户的浏览器平台上运行,请编写一些后备代码,例如,服务器生成 Javascript,如Andrea所示,或者只是不显示菜单注释(如果apt)。 / p>
我从你如何说这个要求将很快改变的感觉,以便你需要更多的架构领域,并在UI中更加突出这个过程的动态方面而不是暗示。但是这应该让你在开始运行时有一个良好的开端,并且从技术上开始朝着正确的方向前进。