当前位置: 首页 > 面试题库 >

使用Ajax和经典ASP查询数据库

彭开畅
2023-03-14
问题内容

我正在尝试从w3scools修改脚本,以结合使用asp和ajax来查询数据库并返回结果。

这是代码:

<html>
<head>
<script type="text/javascript">
function showCustomer(str)
{
    var xmlhttp;    
    if (str=="")
    {
        document.getElementById("txtHint").innerHTML="";
        return;
    }
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","getcustomer.asp?q="+str,true);
    xmlhttp.send();
}
</script>
</head>
<body>

<form action=""> 
    <select name="customers" onchange="showCustomer(this.value)">
        <option value="">Select a customer:</option>
        <option value="ALFKI">Alfreds Futterkiste</option>
    </select>
</form>
<br />

<div id="txtHint">Customer info will be listed here...</div>

</body>
</html>

我想将select字段替换为2个输入字段。

有人可以告诉我如何修改javascript,以便输入值和querystring一起传递,以及需要在表单上更改哪些内容以调用函数。

谢谢


问题答案:

这完全取决于您希望页面如何操作。您能更具体一点吗?

当您说“输入值”时,您的意思是一个文本框?

在下面的示例中,我假设您将有两个字段和一个提交按钮:

<form action=""> 
    <label for="MyTextBox1>Enter some text:</label>
    <input type="text" id="MyTextBox1" />

    <label for="MyTextBox1>Enter some text:</label>
    <input type="text" id="MyTextBox2" />

    <input type="button" onclick="showCustomer();" />
</form>

您的JavaScript函数的定义将从

function showCustomer(str)

function showCustomer()

并且您需要删除所有关联的str代码。

要获取这些值,请使用document.getElementById

var val1 = document.getElementById("MyTextBox1").value);
var val2 = document.getElementById("MyTextBox1").value);
xmlhttp.open("GET","getcustomer.asp?q="+ val1 +"&r=" + val2 ,true);

这很粗糙而且已经准备好,但是是一个很好的起点。



 类似资料:
  • 问题内容: 在绝对紧急的情况下,我试图浏览我的网站并添加参数化查询。我是新手,才刚刚了解它们。 我的问题是,我对连接类型知之甚少,我看到的所有示例都在使用另一种连接方法,这使我感到困惑。我不想改变连接数据库的方式,因为它在很多页面上,我只是想更新我的查询以使其更安全。 这就是我一直连接到数据库的方式: 这是带有参数的SQL位: 显然它不起作用,但是我需要知道我是否可以使用已有的连接真正实现此目标,

  • 我们正在迁移到Azure和有一个应用程序,仍然在经典的ASP。我们已经将它需要与之通信的数据库迁移到Azure中的SQL数据库。 我们在一个运行Server2008 R2的VM中运行这个

  • 下面是我试图实现的目标的简要描述:我有一个高级搜索按钮,可以在输入字段上打开一个列表并选择。我必须用数据库中的选项自动填充选择项,所以我必须以某种方式从那里获取数据。 因为我不想在不需要的时候加载页面中的所有数据,所以我想在用户单击高级搜索的模式按钮时使用AJAX来获取数据。 我尝试使用以下代码来实现这一点,但实际上什么都没有发生: 视图: 我试图使用Ajax达到的控制器: 模型没那么重要,因为它

  • 本文向大家介绍asp控制xml数据库的经典代码,包括了asp控制xml数据库的经典代码的使用技巧和注意事项,需要的朋友参考一下 NO.1--建立一个XML数据库data.xml NO.2--建立对象CreateObject 建立data.xml的对象先 NO.3--选定节点SelectNode 你想操作哪个Node,必须定位到这个节点是不是,先看看这个data.xml有几个Node?? 用一个递归

  • 我正在尝试为我们网站上运行在单独服务器上的经典asp部分实现单点登录。我已经使用simpleSAMLphp在另一台服务器上实现了php SSO。我正在尝试使用shibboleth来实现asp/IIS的经典功能。我已经到达了我们身份提供者的登录页面,但一旦我进行身份验证,我就会卡在/SAML2/POST上,并且有一个网页说找不到我服务器的ip地址。我曾尝试实施在论坛中找到的修复,但仍然没有取得任何进

  • 问题内容: 我正在从动态生成的(尽管经过大量清理的)SQL查询过渡到参数化的SQL,并且在变量名称方面遇到了一些麻烦。 我正在使用用jScript编码的Classic ASP。 下面的代码将等级值(1-5)放入数据库中。首先,它删除该对象的所有用户先前的评分,然后将新的评分写入数据库。该函数已经收到,并且我已经解析了Rating变量(一个TinyInt)。也已发送均为整数的UserID和PgID值