gpt4 book ai didi

c# - 使用 ASP .net 制作一个返回 JSON 格式数据的简单页面

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

我是 ASP 新手。我想制作一个 ASP 页面,该页面将根据请求返回 JSON 格式的数据。我遵循了一些教程,现在我所看到的只是一个完整页面的链接,在我的代码中带有回调。所以从本质上讲,服务器正在输出大量 HTML,这显然不是有效的 JSON。所以我唯一的问题是如何制作这样的网页。我希望我的应用程序设计成当我转到网页时,说 http://localhost:8080 (或类似的东西),我的 C# 代码中的回调或函数连接到数据库,收集一些信息并将其作为有效 JSON 中的响应发回。我不是在寻找可以实现相同效果的库,而是在寻找如何通过简单地使用一组 Response.Write 语句来实现它。

如果我可能会说我与我的概念不一致,请原谅我,因为我对这整件事真的很陌生。

非常感谢任何帮助。

问候,p1n3appl3

编辑:我目前正在使用以下 JavaScript 代码:

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:47949/Default.aspx/NameChange");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
}

xhr.send("");

它发出调用,一切正常,但问题是它再次返回“Default.aspx”页面的完整代码。我的意思是,方法 NameChange 甚至都没有被调用(我已经通过设置断点对此进行了测试)。

我做错了什么?

最佳答案

你可以定义一个 PageMethod在您的页面上:

public partial class _Default : Page 
{
[WebMethod]
public static SomeObject GetObject()
{
SomeObject result = ... fetch from db or something
return result;
}
}

或者您也可以使用 JavaScriptSerializer 手动执行此操作类:

public partial class _Default : Page 
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.ContentType = "application/json";
SomeObject result = ... fetch from db or something
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(result);
Response.Write(json);
}
}

关于c# - 使用 ASP .net 制作一个返回 JSON 格式数据的简单页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641301/

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