IHttpHandler 接收axios请求的参数

前台写法如下:

       axios.post("/APINew/GoodsAPI.ashx?action=CreateCurtain", {
                formData:JSON.stringify(this.form)
                
            }).then((res) => {
                console.log(res.data);
            }, (error) => {
                console.log(error);
            });

请求参数格式如下:

这个格式的数据一般处理程序用var json =context.Request["formData"];这种写法获取不到(),所以用下面的方法来接收

后台接口写法:

 Stream stream = context.Request.InputStream;
            StreamReader rd = new StreamReader(stream);
            string json = rd.ReadToEnd();
            JObject obj = Newtonsoft.Json.Linq.JObject.Parse(json);
            
            var formData = obj["formData"].ToString();
            //var json =context.Request["formData"];
            var jss = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
            MainGoodsInfo mainGoodsInfo =JsonConvert.DeserializeObject<MainGoodsInfo>(formData, jss);

主要就是获取json字符串,后台在转换成C#对象。希望分享对大家有用!

猜你喜欢

转载自www.cnblogs.com/xujie520/p/12802269.html