簡體   English   中英

使用 AJAX 按 Id 獲取數據 | JSON ASP.NET

[英]Get data by Id using AJAX | JSON ASP.NET

我有這個 web 服務方法

List<object[]> List1 = new List<object[]>();
        [WebMethod(EnableSession = true)]
        [System.Web.Script.Services.ScriptMethod(UseHttpGet = true, ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
        public List<object[]> GetData(int ID)
        {
            var team = db.TEST.WHERE(a => a.id == ID).ToList();
            List1.Add(new object[]
                            {
                                team
                            });
            return teamList;
        }

這是我的 Function 使用 Javascript & jQuer & Json

function BindList(id) {
            $.ajax({
                url: "/WebService1.asmx/GetData",
                type: "GET",
                dataType: "json",
                contentType: "application/Json; Charset= Utf-8",
                success: function (data) {
                    var list = "";
                    $.each(data.d[0][0], function (index, item) {
                        list += "<li class='text-secondary p-1'><a class='btn-link text-secondary'><b>" + item.Id+ "</b>" + ", " + "<span class='font-italic'><small>" + item.Name + "</small></span><small><a href='#' Onclick='Delete(" + item.Name + ")'> <i class='float-right far fa-trash-alt'></i></a></small></a>" + "</li>";
                    });
                    $("#list").html(list);// and this to print data to this list id 
                },
                error: function (response) {
                    alert(response);
                }
            });
        }

這是我獲取數據的按鈕

<input id="Button1" type="button" onclick="BindMembersList(1)" value="button" />

我的問題是我需要把 id 放在哪里只給數據有 id 等於 1 謝謝

試試這個 url:

url: "/WebService1.asmx/GetData?id="+id

由於它是您正在調用的 url,請將其傳遞給您的 AJAX 調用的 url,如下所示:

function BindList(id) {
        $.ajax({
            url: "/WebService1.asmx/GetData/" + id,
            type: "GET",
            dataType: "json",
            contentType: "application/Json; Charset= Utf-8",
            success: function (data) {
                var list = "";
                $.each(data.d[0][0], function (index, item) {
                    list += "<li class='text-secondary p-1'><a class='btn-link text-secondary'><b>" + item.Id+ "</b>" + ", " + "<span class='font-italic'><small>" + item.Name + "</small></span><small><a href='#' Onclick='Delete(" + item.Name + ")'> <i class='float-right far fa-trash-alt'></i></a></small></a>" + "</li>";
                });
                $("#list").html(list);// and this to print data to this list id 
            },
            error: function (response) {
                alert(response);
            }
        });
    }

如果它不起作用或者您需要將更多參數傳遞給操作,您可以指定它們並使用“&”作為分隔符,如下所示:

url: "/WebService1.asmx/GetData?id=" + id + "&parameter2=" + param,

無論如何,您的 c# 方法是錯誤的,因為您要返回 teamList,而該操作未在操作中實現

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM