微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax ashx 返回json

Ajax是一种基于XMLHttpRequest对象的技术,可以实现在不刷新整个页面的情况下交互式地更新页面内容。在Web开发中,经常需要使用Ajax来获取后台的数据,这时候就可以使用ashx文件作为后台数据的提供者。而为了方便数据交互,可以将后台数据以JSON格式返回。下面就来看看如何使用Ajax和ashx文件来返回JSON数据。

$.ajax({
    url: 'data.ashx',type: 'GET',data: { id: 1 },dataType: 'json',success: function (data) {
        console.log(data);
    },error: function () {
        console.log('请求失败');
    }
});

ajax ashx 返回json

上述代码使用jQuery的ajax()方法来请求后台数据。url属性指定请求的ashx文件路径,type属性指定请求的方法类型,data属性指定请求的参数,dataType属性指定返回的数据类型为JSON。当请求成功时,会执行success回调函数并将返回的JSON数据作为参数传入,可以在回调函数中对数据进行处理。当请求失败时,会执行error回调函数



using System;
using System.Web;
using Newtonsoft.Json;

public class Data : IHttpHandler {

    public void ProcessRequest(HttpContext context) {
        context.Response.ContentType = "application/json";
        int id = int.Parse(context.Request.QueryString["id"]);
        string name = GetUserNameById(id);
        string json = JsonConvert.SerializeObject(new { id = id,name = name });
        context.Response.Write(json);
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

    private string GetUserNameById(int id) {
        // 从数据库或其他数据源中获取数据
        return "张三";
    }
}

上述代码是ashx文件中的代码。首先指定了文件类型为“application/json”,表示返回的数据类型为JSON。然后通过context对象获取请求参数id,并通过GetUserNameById()方法获取用户名。接着使用JsonConvert.SerializeObject()方法将数据序列化为JSON字符串。最后使用context.Response.Write()方法将JSON字符串直接输出,在前端Ajax回调函数中进行处理。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐