使用ajax进行前后端交互的方法

使用ajax进行前后端交互的方法:(我只测试通了json对象作为参数的方式,其他方式我没有测试通过)

1、前端方法:

传参方式:POST

请求类型:json对象

响应类型:json对象

csharp 复制代码
 function test() {
            var param1Value = "Hello";
            var param2Value = "World";

            // 构建发送给服务器的JSON对象
            var jsonobj = {
                param1: param1Value,
                param2: param2Value
            };
            $.ajax({
                type: "POST",//传参方式
                url: "test01.aspx/tt",  // 这里根据你的WebMethod路径进行修改
                data: JSON.stringify(jsonobj), //请求类型,将对象序列化为JSON字符串后传递到后端
                contentType: "application/json; charset=utf-8",
                dataType: "json", //响应类型
                success: function (data) {
                    // 请求成功的回调函数
                    // data是服务器返回的JSON对象
                    console.log(data);
                },
                error: function (error) {
                    // 请求失败的回调函数
                    console.error(error);
                }
            });
        }

2、后端方法:无需创建一个类来接收前端传来的json字符串,需要注意是:使用的接收参数必须与前端定义的json对象中的键名要一致。

csharp 复制代码
 [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string tt(string param1, string param2)
        {
            //后端创建json对象
            var resultObject = new
            {
                Message = "Success",
                Data = new
                {
                    Param1Result = param1.ToUpper(),
                    Param2Result = param2.ToLower(),
                    SomeOtherData = "Hello from server!"
                }
            };

            // 将对象序列化为JSON字符串并返回
            return Newtonsoft.Json.JsonConvert.SerializeObject(resultObject);
        }
相关推荐
恋猫de小郭25 分钟前
Flutter THLC 的 WebView 滚动终于从 70 FPS 提升到 120 FPS
android·前端·flutter
严肃小白兔1 小时前
TanStack Router 更新构建工具链:Node.js 兼容性、路由分割与前端工程实践
前端·node.js·状态模式
IT_陈寒1 小时前
Vue这个奇葩的响应式问题让我加班到凌晨
前端·人工智能·后端
风骏时光牛马2 小时前
功能可用性自动化测试验证
前端
LucianaiB11 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel12 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易13 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰15 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒15 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手15 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript