问题描述
页面提交过程:varjsonData=JSON.stringify({CurrentPage:page,SelectCategoryId:selectCategory,StartTime:startTime,EndTime:entTime});$.ajax({url:"/Home/SearchTrainingByAjax",data:jsonData,type:"POST",dataType:"json",contentType:"application/json",success:function(date){alert(123);}});
对应Controller中Acion方法为:[AcceptVerbs(HttpVerbs.Post)]publicJsonResultSearchTrainingByAjax(){returnJson(Request.InputStream);}
但是Request.InputStream总是空,是怎么回事啊?非常不解啊?
解决方案
本帖最后由 woshimaikou 于 2014-01-01 22:25:29 编辑
解决方案二:
HttpVerbs.Post$.ajax({type:"POST",....
解决方案三:
把这个jsonData换成{"UserName":"xxxxx"}试试
解决方案四:
换成text/xml试试
解决方案五:
F12
解决方案六:
楼上说的都不行啊?
解决方案七:
没有遇到这样问题的吗???
解决方案八:
感觉应该用一个对应的class对接收数据的[AcceptVerbs(HttpVerbs.Post)]publicJsonResultSearchTrainingByAjax(QueryModelquery){returnJson(data);}
publicclassQueryModel{//与json里面的数据字段相对应}
解决方案九:
引用7楼zhujiazhi的回复:
感觉应该用一个对应的class对接收数据的[AcceptVerbs(HttpVerbs.Post)]publicJsonResultSearchTrainingByAjax(QueryModelquery){returnJson(data);}publicclassQueryModel{//与json里面的数据字段相对应}
这样也弄了没效果这个也是我发的。
解决方案十:
引用楼主woshimaikou的回复:
但是Request.InputStream总是空,是怎么回事啊?非常不解啊?
内容只能读取一遍,已经被你的所谓asp.netmvc程序读取走了,你还能再“继续”读出什么?
解决方案十一:
引用6楼woshimaikou的回复:
没有遇到这样问题的吗???
自己学会调试http消息,学会自己写一个web服务(例如ashx)来处理Context.Request.InputStream。循序渐进才能了解问题原因,不要“只会一个代码”。
解决方案十二:
看下这个帖子我的回复把position改成0就行了
解决方案十三:
困扰你几天的问题看了我回复的那个帖子就可以解决了
解决方案十四:
你最好还是搞懂你那种程序要收到CurrentPage、SelectCategoryId、StartTime、EndTime四个参数,该怎样写你的SearchTrainingByAjax方法。如果不去搞懂内部为什么会“丢失InputStream数据流”,你只是道听途说地记住了“Position=0”,那么就算是你走了弯路也不过是照抄来的弯路。
解决方案十五:
引用10楼sp1234的回复:
Quote: 引用6楼woshimaikou的回复:
没有遇到这样问题的吗???自己学会调试http消息,学会自己写一个web服务(例如ashx)来处理Context.Request.InputStream。循序渐进才能了解问题原因,不要“只会一个代码”。
这个也早就试过了,么有效果的。谢谢你
解决方案:
引用9楼sp1234的回复:
Quote: 引用楼主woshimaikou的回复:
但是Request.InputStream总是空,是怎么回事啊?非常不解啊?内容只能读取一遍,已经被你的所谓asp.netmvc程序读取走了,你还能再“继续”读出什么?
感谢您的回帖,知道您是大牛,呵呵但是我真的不知道antion里为什么无法获取InputStream,至于您说的已经被“所谓asp.netmvc程序读取走了”是什么意思呢。谢谢!希望得到您的帮助。
解决方案:
话说我也遇到过那时我做的是上传图片结果都收不到不知道怎么回事·吾也求解·
解决方案:
var_data={CurrentPage:page,SelectCategoryId:selectCategory,StartTime:startTime,EndTime:entTime};$.ajax({url:"/Home/SearchTrainingByAjax",data:_data,type:"POST",dataType:"json",contentType:"application/json",success:function(result){alert(result);}});
[AcceptVerbs(HttpVerbs.Post)]publicJsonResultSearchTrainingByAjax(intCurrentPage,intSelectCategoryId,DateTimeStartTime,DateTimeEndTime)//获取把查询参数封装成查询实体Class{returnJson(String.Format("{0}-{1}-{2]-{3}",CurrentPage,SelectCategoryId,StartTime,EndTime));}
解决方案:
引用16楼qq931121347的回复:
话说我也遇到过那时我做的是上传图片结果都收不到不知道怎么回事·吾也求解·
一般是因为Input标签没有写上name属性还有form标签没有加上enctype="multipart/form-data",才会导致
解决方案:
引用18楼tsgx_1989的回复:
Quote: 引用16楼qq931121347的回复:
话说我也遇到过那时我做的是上传图片结果都收不到不知道怎么回事·吾也求解·一般是因为Input标签没有写上name属性还有form标签没有加上enctype="multipart/form-data",才会导致
都有了但是就是接收不到不知道怎么回事代码也没错后来换了个上传跳过了这个问题不过现在看到这个帖子还是想了解下