2010-10-08 97 views
1

任何人都可以提供一个如何从sql server数据库中的数据填充下拉列表的例子。我只是一个没有任何服务器端任何东西的HTML页面...需要使用jquery/json从sql server sql填充下拉列表

+0

您打算使用哪种服务器端语言? PHP,C#,Ruby? – 2010-10-08 15:06:51

+0

C#是语言,但是,创建的窗口必须是仅使用客户端语言的html。 – DeanoReno 2010-10-08 15:51:57

回答

0

您需要使用服务器端脚本(如PHP)将客户端与服务器上的数据连接起来。 下面是一个例子:

你的HTML页面:

jQuery.getJSON('test.php',function(items){ 
    jQuery.each(items,function(index,value){ 
     jQuery('#selectid').append('<option>'+value+'</option>'); 
    }); 
}); 

的test.php的页面:

<?php 
    // todo: you should be get the following array from the sql server 
    echo json_encode(array('aaa','bbb','ccc')); 
?> 
0
+0

我在.net中创建了应用程序,因此打开窗口的父应用程序是.net,因此我可以执行以下操作:\t $ .ajax({\t type:“POST”, url:“Default.aspx/GetNames”, 数据: “{genderID:” + genderID + “}”, \t的contentType: “应用程序/ JSON;字符集= UTF-8”, \t数据类型: “JSON”, \t成功:函数(MSG) {????有人能给我一个如何编码GetNames方法的例子吗? – DeanoReno 2010-10-08 15:47:51

0

您(通常情况下)无法从Internet Bro连接到Sql Server直接(尽管这是可能的,因为SQL服务器可以通过IIS有一个XML接口)。

有几个原因,这是不可能的,或至少是一个非常不好的习惯:

  • 你的HTML页面的源代码是可见的。但是你需要用户名和密码才能连接。这将使您的用户名和密码可见(对于稍微高级的用户)。
  • 通过Internet连接速度很慢,连接是服务器上的“昂贵”资源。所以你会做很多昂贵的连接,从服务器端脚本连接也需要更长的时间。
  • 不应该信任来自Internet的连接
  • 您可以通过SQL与服务器进行通信。如果最终用户可以看到SQL,那么您会向他提供大量内部信息,这些信息可用于破解数据库。特别结合用户名/密码。

所以你需要做的是在服务器上放一些代码,连接到客户端(浏览器)的数据库。这会隐藏敏感信息,并简化与服务器的连接。

+0

我已经26年的程序员现在我发现使用“不可能”或“不能完成“是提前终止的初步理由(这对于年轻程序员来说是一个很好的谚语) – DeanoReno 2010-10-08 15:55:24

+0

我试图尽可能小心地制定。 – GvS 2010-10-09 18:47:21