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#对象。希望分享对大家有用!