• jQuery Autocomplete Ajax WebService 多参数


    两种不同的方式 注意参数

    不同方法 能提交的参数不一样

    Ajax只传term

    WebService 传了str tb3 两个参数

    关键代码

    <script language="javascript" type="text/javascript">
    
            $(function() {
                $("#txtTest").autocomplete({
                    minLength: 1,
                    source: function(request, response) {
                        $.ajax({
                            url: "./Handler.ashx",
                            dataType: "json",
                            data: request,
                            success: function(data) {
                                response(data);
                                alert(data);
                                $('#it').val(data);
                            }
                        });
                    }
                });
    
    
                $('#it').autocomplete({
                    minLength: 1,
                    source: function(request, response) {
                         $.ajax({
                            url: "WebService2.asmx/GetData",
                            datatype: "json",
                            data: "{ 'str': '" + request.term + "','tb3':'" + $('#txtTest').val() + "' }",
                            type: "POST",
                            contentType: "application/json",
                            success: function(db) {
                                response($.map(db.d, function(val) {
                                    return {
                                        value: val
                                    }
    
                                }))
                            },
                            error: function(XMLHttpRequest, textStatus, errorThrown) {
                                alert(textStatus);
                            }
    
                        });
                    }
                });
    
            });
    
        </script>
    
        <form id="form1" runat="server">
            <div>
                <input id="txtTest" type="text" style="80%;" />
            </div>
            
            <div>
            <input type="button" id="ib" value="ib" style="129px;"/>
            <input type="text" id="it" style="80%;" />
            </div>
        </form>
    

    关键代码

    <%@ WebHandler Language="C#" Class="Handler" %>
    
    using System;
    using System.Web;
    using System.Data;
    using System.Text;
    
    public class Handler : IHttpHandler {
    
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Charset = "utf-8";
            context.Response.ContentEncoding = System.Text.Encoding.UTF8;
            context.Response.Write(GetData(context.Request["term"]));
    
    
    
        }
    
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    
    
        private string GetData(string str)
        {
            string sql = " select name from htgl.tb_address where name like '%" + str + "%'";
            DataTable dt = HFKC.PublicClass.DataBaseOperate.GetTable(sql);
            StringBuilder sb = new StringBuilder();
            if (dt.Rows.Count == 0)
                return "[]";
            sb.Append("[");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sb.Append("\"" + dt.Rows[i][0] + "\"");
                if (i == dt.Rows.Count - 1)
                    sb.Append("]");
                else
                    sb.Append(",");
            }
            return sb.ToString();
        }
    
    
    

    关键代码

    <%@ WebService Language="C#" Class="WebService2" %>
    
    using System;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Data;
    using System.Text;
    using System.Collections.Generic;
    
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
    [System.Web.Script.Services.ScriptService]
    
    
    public class WebService2 : System.Web.Services.WebService
    {
    
        [WebMethod]
        public string HelloWorld()
        {
            return "HelloWorld";
        }
    
        [WebMethod]
        public List<string> GetData(string str,string tb3)
        {
            List<string> ls = new List<string>();
            
            string sql = " select name from htgl.tb_address where name like '%" + str + "%'";
            //string sql = " select name from htgl.tb_address";
            DataTable dt = HFKC.PublicClass.DataBaseOperate.GetTable(sql);
    
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                ls.Add(dt.Rows[i][0].ToString()); 
            }
            return ls;
    
        }
    
    }
    
    
  • 相关阅读:
    聆听生活——用心创造
    zedboard通过BRAM实现PS和PL的简单通信
    使用FDATOOL生成xilinx中FIR滤波器IP核的系数
    PCI Express
    波若波罗密多心经
    imp导入时出现imp-00017的问题
    数据库表对比,vim裁剪方法
    [测]jieba分词
    [原]批量修改指定名称的文件名
    [原]通过配合ffmpeg.exe获取视频文件时长
  • 原文地址:https://www.cnblogs.com/pchgo/p/2083817.html
Copyright © 2020-2023  润新知