晚上学习时公司的同事,暂且叫A吧,A:“我们公司XXX纺织的AM接口不通,让我看下”,我:“接口写的不是有AJAX异步请求的示例嘛,参考下,我都测试过接口,都是通的。”,A:“我走的不是AJAX,走的CS端”,我:“哦,明白了,CS端的HttpWebRequest模拟前端的AJAX请求,我之前写过一次,我写个DEMO调试看看”
排查结果如下
错误示例,因为CS没法前面加前缀:jsonData
正确的AJAX示例,前面有jsonData(因为后台获取的是jsonData中的数据,CS端这个没法传)
网上找了半天解决方法,我们可以使用上下文,获取JSON数据流,然后在将流还原回JSON字符串即可
1 Stream s = HttpContext.Current.Request.InputStream;//获得json 字符流 2 //还原数据流 3 byte[] b = new byte[s.Length]; 4 s.Read(b, 0, (int)s.Length); 5 string