使用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);
        }
相关推荐
Agent世界3 小时前
用 CDP 做发布自动化:四道机器闸门与产物验收
前端·javascript
FungLeo3 小时前
成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
前端·vue.js·编辑器·markdown·文件上传·formdata·附件管理
某哈压力大3 小时前
SSH 突然 Connection reset?不是密钥坏了,是 OpenSSL 把 sshd 干趴了
前端·node.js·命令行
程序员大阳3 小时前
副队长ES6+教程(3)--解构赋值
前端·javascript·es6·赋值·解构
神膘护体小月半3 小时前
css - 元素背景图由 hover 触发,初次加载时闪动的解决办法
前端·javascript·css
程序员大阳4 小时前
副队长ES6+教程(2)--let 与 const
前端·javascript·es6·const·let·var
deli0074 小时前
写满 200GB 后 SSD 为什么掉到 95MB/s?SLC 缓存模型实测
前端
曦樂~5 小时前
【Web Development】03JavaScript 基础和事件
开发语言·前端·javascript
deli0075 小时前
HTTPS 的锁是怎么挂上的?TLS 1.3 握手 6 步实测
前端
程序员大阳5 小时前
副队长ES6+教程(1)--ES6+初识
前端·ecmascript·es6