Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery与数据库交互_Jquery_Database_Autocomplete - Fatal编程技术网

如何使用jQuery与数据库交互

如何使用jQuery与数据库交互,jquery,database,autocomplete,Jquery,Database,Autocomplete,我有一个恼人的问题。我在用C编写的Web窗体应用程序中使用ASP.NET提供的自动完成扩展程序。自动完成功能很好,没有问题 我使用序列号文本字段的自动完成。如果我想根据我选择的序列号填写product_name文本字段,我需要与数据库交互。 这是因为向autocomplete提供数据的Web方法必须具有特定的签名,并且其输出参数是字符串数组 因此,一旦选择了序列号,我需要调用jQuery函数,给定所选序列号,从数据库SQL Server获取对应的产品名称 有什么建议吗?谢谢 更新: 提供自动完成

我有一个恼人的问题。我在用C编写的Web窗体应用程序中使用ASP.NET提供的自动完成扩展程序。自动完成功能很好,没有问题

我使用序列号文本字段的自动完成。如果我想根据我选择的序列号填写product_name文本字段,我需要与数据库交互。 这是因为向autocomplete提供数据的Web方法必须具有特定的签名,并且其输出参数是字符串数组

因此,一旦选择了序列号,我需要调用jQuery函数,给定所选序列号,从数据库SQL Server获取对应的产品名称

有什么建议吗?谢谢

更新:

提供自动完成的Web方法

[System.Web.Services.WebMethod]
public static string[] GetProductId(string prefixText, int count)
{
    string selectSQL = "SELECT srnum FROM demo_product WHERE srnum LIKE'" +  prefixText + "' + '%'";
    DataTable dtProdId = dbUtil.dbGetDataTable("EMPLOYEE", selectSQL);

    List<string> listProdId = new List<string>();

    foreach (DataRow row in dtProdId.Rows)
    {
        listProdId.Add((string)row["SRNUM"]);
    }

    return listProdId.ToArray();
}
以及aspx文件中的标记

<asp:TextBox runat="server" ID="txtSRNum" BackColor="#FFFF66" AutoComplete="On"></asp:TextBox>

 <!-- Autocomplete extender for product serial number -->
 <ajax:AutoCompleteExtender ID="txtSRNum_AutoCompleteExtender" runat="server"
 DelimiterCharacters="" Enabled="True" ServicePath="" TargetControlID="txtSRNum"
 MinimumPrefixLength="1" ServiceMethod="GetProductId" CompletionSetCount="5"
 CompletionInterval="50" >

    </ajax:AutoCompleteExtender>

你试过什么?根据您的服务器端配置,jQuery看起来可能非常简单:

$.getJSON('/Products.aspx/LookupSerialNumber',
  {serial_number: $('#serial_number').val()},
  function(json) {
    $('#product_name').val(json.product.product_name);
  }
);

如果不知道具体情况,很难给出更具体的例子。

谢谢!我更新了这个问题,也许它给了你一个更广阔的背景。我也不明白LookupSerialNumber是什么