Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Ajax Json多参数_Ajax_Json_Parameters - Fatal编程技术网

Ajax Json多参数

Ajax Json多参数,ajax,json,parameters,Ajax,Json,Parameters,下面的代码位于网站的ASP.Net应用程序上。Mater 我需要从default.aspx页面传递另外两个参数,一个asp:label和一个asp:textbox 最简单的方法是什么 谢谢 <script type="text/javascript"> $(function () { $(".tb").autocomplete({ source: function (request, respo

下面的代码位于网站的ASP.Net应用程序上。Mater

我需要从default.aspx页面传递另外两个参数,一个asp:label和一个asp:textbox

最简单的方法是什么

谢谢

     <script type="text/javascript">
        $(function () {
                $(".tb").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        url: "TestWebService.asmx/FetchList",
                        data: "{ 'testName': '" + request.term + "'}",
                        dataType: "json",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        dataFilter: function (data) { return data; },
                        success: function (data) {
                            response($.map(data.d, function (item) {
                                return {
                                    value: item.Name

                                }
                            }))
                        },
                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                            alert(textStatus);
                        }
                    });
                },
                minLength: 2

            });
        });

$(函数(){
$(“.tb”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“TestWebService.asmx/FetchList”,
数据:“{'testName':'”+request.term+“}”,
数据类型:“json”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
dataFilter:函数(数据){返回数据;},
成功:功能(数据){
响应($.map)(数据.d,函数(项){
返回{
值:item.Name
}
}))
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(文本状态);
}
});
},
最小长度:2
});
});

在jQuery自动完成中,您需要将
数据
参数更改为:

data: "{ 'testName': '" + request.term + "' ,lbl: '" + $(".lblClass").text() + "' ,txt: '" + $(".txtClass").val() + "'}"
然后更改您的服务方法,如下所示:

[WebMethod]
public List<string> FetchList(string testName, string lbl, string txt)
{
  //...
}
[WebMethod]
公共列表FetchList(字符串testName、字符串lbl、字符串txt)
{
//...
}

注意:
.lblClass
.txtClass
分别是ASP:Lable和ASP:TextBox的类。

谢谢,这太好了。。。但是,您如何知道要传递哪个文本框或标签呢?(我在default.aspx页面中有几个文本框和标签)最简单的方法是为它们指定“类”名称。你能告诉我怎么做吗?我在使用这些数据时也会遇到一个错误:“{'testName':'”+request.term+”,lbl:“++$(“.lblClass”)。text()+”,txt:do like:…标签也一样。。。