gpt4 book ai didi

c# - 如何将对象数组传递为 jQuery Ajax 可以理解的格式?

转载 作者:太空宇宙 更新时间:2023-11-03 16:29:08 25 4
gpt4 key购买 nike

我有一个具有以下功能的 asmx 网络服务:

    [WebMethod]
public List<Tag> GetTags()
{
List<Tag> TagList = new List<Tag>();

DataTable dt = Helpers.Tags.GetTags();

foreach (DataRow dr in dt.Rows)
{
Tag t = new Tag();
t.TagName = dr["Tag"].ToString();
t.TagDescription = dr["Description"].ToString();
TagList.Add(t);
}

return TagList;
}

这是标记类:

    public class Tag
{
public string TagName { get; set; }
public string TagDescription { get; set; }
}

GetTags() 方法返回标签对象的对象列表。

我在 jQuery 中有一个自动完成函数,它接受以下格式的数组:

    var availableTagsCustom = [
{
tagName: 'Ruby',
tagDescription: 'Ruby is an open-source dynamic...'
},
{
tagName: 'Scala',
tagDescription: 'Scala is a general purpose programming language...'
},
{
tagName: 'Scheme',
tagDescription: 'Scheme is a functional programming language....'
}
];

如何将我收到的“标记对象的对象列表”翻译或转换成这种格式?

谢谢。

最佳答案

首先您需要在服务类级别设置[System.Web.Script.Services.ScriptService] 属性以获取Json 结果。

其次,您需要在方法上应用 [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]

[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public List<Tag> GetTags()
{
List<Tag> TagList = new List<Tag>();

DataTable dt = Helpers.Tags.GetTags();

foreach (DataRow dr in dt.Rows)
{
Tag t = new Tag();
t.TagName = dr["Tag"].ToString();
t.TagDescription = dr["Description"].ToString();
TagList.Add(t);
}

return TagList;
}

请求中的第三个Content-type: application/json

This article also might be helpful "using jquery to consume aspnet json web-services

关于c# - 如何将对象数组传递为 jQuery Ajax 可以理解的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11485956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com