在 ASP.NET 中,可以通过创建一个 ASHX 文件(一般处理程序)来处理客户端请求并返回 JSON 数据。以下是将 C# 对象转换为 JSON 字符串并在响应中返回的示例代码:
首先,在 ASHX 文件中设置响应的内容类型为 JSON:
context.Response.COntentType= "application/json";
这一行代码告知浏览器或客户端应用程序,服务器返回的数据格式为 JSON。
接着,使用 JavascriptSerializer
类将 C# 对象序列化为 JSON 字符串并写入响应流中:
context.Response.Write(new JavascriptSerializer().Serialize(new { status = "OK", message = "成功" }));
以上代码将创建一个新的匿名对象,包含状态码和消息,然后将其转换为 JSON 字符串发送给客户端。
接下来,我们来看看如何在 HTML 页面中接收这个 JSON 数据。这里提供了一个不使用 jQuery 的原生 Javascript 实现:
<script type="text/Javascript">window.onload = function() {document.getElementById("btn").onclick = function() {var username = document.getElementById("uname").value;var password = document.getElementById("pwd").value;var xhr = new XMLHttpRequest();xhr.open("POST", "/Handler1.ashx?username=" + encodeURIComponent(username) + "&password=" + encodeURIComponent(password), true);xhr.onreadystatechange = function() {if(xhr.readyState == 4) {if(xhr.status == 200) {var respOnse= JSON.parse(xhr.responseText);alert(response.status);}else{alert("请求失败");}}};xhr.send();};}script>
上述脚本中,当用户点击按钮时,会触发 AJAX 请求,向服务器发送用户名和密码参数,并接收 JSON 响应。通过调用 JSON.parse()
方法,可以将从服务器接收到的 JSON 字符串解析成 Javascript 对象,从而方便地访问其中的数据。
转载于: 原文链接