.net 如何处理网页的Json请求?

一、传变量

客户端请求

客户端一般是用Jscript写的,传送变量,代码如下:

javascript 复制代码
 function save(i){
 //这是用Post Method 使用var1=value1&var2=value2格式传送数据  
        var count=chkCount.value;
        var chk0="";
            for (k=0;k<count;k++){
                 var chkBox=document.getElementById("c_"+k.toString());
                 if (chkBox.checked){
                   chk0+=chkBox.value+",";
                 }
             }
         var s0 = "/Store/Save" + i.toString() ;                
             xhr0.open("POST", s0, true);
             xhr0.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                 xhr0.send(`chk0=${chk0}`);

 }

服务器端

按变量进行接收,并已解析完毕。

csharp 复制代码
 public async Task<JsonResult> Save1(string chk0)      
 {
    	int n = 0;
   		string[] sa=chk0.Split(",");
   		List<string> chk =new List<string>(sa);
    	chk.RemoveAt(chk.Count-1); */          
   		if (chk0.Length > 0)
 		{
       		n = await SaveChk(chk0, 1);
  		}
    return RedirectToAction(nameof(Warehousing));
}

二、传Json数据

客户端

传送Json流数据。

javascript 复制代码
 var count=chkCount.value;
 var chk0=[];
  var chkBox;
 for(n=0;n<count;n++){
     chkBox=document.getElementById("c_"+n.toString());
     if (chkBox.checked){
         chk0[chk0.length]=chkBox.value;
     }
 }
        
 var s0 = "/Store/Save" + i.toString() ;
 xhr0.open("POST", s0, true);
 xhr0.setRequestHeader("Content-type","application/Json");//"application/x-www-form-urlencoded");// ;
 xhr0.send(JSON.stringify(chk0));

服务器端

服务器端,对Json数据是按流来处理的,所以就必须从流中读取,并自动进行解析。

csharp 复制代码
 public async Task<JsonResult> Save1()      
 {
 		 string[] chk = await Request.ReadFromJsonAsync<string[]>(); ;
  		if (chk.Length > 0)
  		{
	       n = await SaveChk(chk, 1);
  		}
  		int status = 0;
  		int flowId = 3;
 		 List<WaybillView> waybillViews = GetWaybillViews(status, flowId);
  		return Json(waybillViews);
  }
相关推荐
吳所畏惧8 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈8 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
维天说9 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zhang~Ling9 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的阿森9 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil首选项数据监听详解
服务器·华为·harmonyos·鸿蒙·huawei
爱写代码的森9 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
吠品11 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
重生的黑客11 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
骑上单车去旅行12 小时前
MD5校验对比脚本
linux·服务器·windows
ShirleyWang01214 小时前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s