微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 在ajax中传递多个参数给了我错误

我想将多个参数传递给我的ajax代码.这是3个参数.所以,我添加如下

$(document).ready(function () {
        SearchText();
    });
    function SearchText() {
        $("#txt712").autocomplete({
            source: function (request,response) {
                $.ajax({
                    type: "POST",contentType: "application/json; charset=utf-8",url: "FrmAgreementMaster.aspx/GetAutoCompleteData",//data: "{'username':'" + extractLast(request.term) + "'}",data: JSON.stringify("{'username':'" + extractLast(request.term) + "'}","{'taluka':'" + document.getElementById('ddlTaluka').value + "'}","{'village':'" + document.getElementById('ddlVillage').value + "'}"),dataType: "json",success: function (data) {
                        response(data.d);
                    },error: function (result) {
                        alert("Error");
                    }
                });
            },focus: function () {
                return false;
            },select: function (event,ui) {
                var terms = split(this.value);
                terms.pop();
                terms.push(ui.item.value);
                terms.push("");
                this.value = terms.join(",");
                return false;
            }
        });
        $("#txt712").bind("keydown",function (event) {
            if (event.keyCode === $.ui.keyCode.TAB &&
                $(this).data("autocomplete").menu.active) {
                event.preventDefault();
            }
        })
        function split(val) {
            return val.split(/,\s*/);
        }
        function extractLast(term) {
            return split(term).pop();
        }
    }

通过参考Darin的HERE代码.

但它在调用函数时将我带到ERROR部分.如何传递多个参数以使用它.

更新

另外,我从here获取了ajax参考

回复代码: –

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public static List<string> GetAutoCompleteData(string username,string taluka,string village)
{
    List<string> result = new List<string>();
    using (OracleConnection ObjPriCon = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OracleConn"].ToString()))
    {

        using (OracleCommand cmd = new OracleCommand("select distinct survey_area_7_12 FROM xxcus.xxacl_pn_farming_mst WHERE survey_area_7_12  " +
                                                     "LIKE '%' || :searchtext || '%' and taluka = '" + taluka + "' and village = '" + village + "'",ObjPriCon))
        {
            ObjPriCon.open();
            cmd.Parameters.AddWithValue(":searchtext",username.ToLower());
            OracleDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    result.Add(dr["survey_area_7_12"].ToString());
                }
            }
            return result;
        }
    }
}

解决方法

您不需要多个对象,在对象中需要多个属性

data: JSON.stringify({username: extractLast(request.term),taluka: $('#ddlTaluka').val(),village:$('#ddlVillage').val()}),

Ps:不要忘记在页面就绪时触发自动完成,确保在这些输入中有值

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐