【非常不解】MVC中AJAX提交接收不到数据??

woshimaikou 2014-01-01 10:25:00
页面提交过程:

var jsonData =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)]
public JsonResult SearchTrainingByAjax()
{
return Json(Request.InputStream);
}

但是Request.InputStream总是空,是怎么回事啊?非常不解啊?
...全文
1121 19 打赏 收藏 举报
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Ahoo 2014-01-13
引用 16 楼 qq931121347 的回复:
话说我也遇到过 那时我做的是上传图片 结果都收不到 不知道怎么回事·吾也求解·
一般是因为 Input标签 没有写上name 属性还有 form 标签没有加上 enctype="multipart/form-data" ,才会导致
  • 打赏
  • 举报
回复
Ahoo 2014-01-13

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)]
       public JsonResult SearchTrainingByAjax(int CurrentPage,int SelectCategoryId,DateTime StartTime,DateTime EndTime)//获取把查询参数封装成查询实体Class
       {
           return Json(String.Format("{0}-{1}-{2]-{3}", CurrentPage, SelectCategoryId,StartTime,EndTime));           
       }
  • 打赏
  • 举报
回复
淡淡的活着 2014-01-13
话说我也遇到过 那时我做的是上传图片 结果都收不到 不知道怎么回事·吾也求解·
  • 打赏
  • 举报
回复
淡淡的活着 2014-01-13
引用 18 楼 tsgx_1989 的回复:
[quote=引用 16 楼 qq931121347 的回复:] 话说我也遇到过 那时我做的是上传图片 结果都收不到 不知道怎么回事·吾也求解·
一般是因为 Input标签 没有写上name 属性还有 form 标签没有加上 enctype="multipart/form-data" ,才会导致[/quote]都有了 但是就是接收不到 不知道怎么回事 代码也没错 后来换了个上传跳过了这个问题 不过现在看到这个帖子还是想了解下
  • 打赏
  • 举报
回复
woshimaikou 2014-01-11
引用 9 楼 sp1234 的回复:
[quote=引用 楼主 woshimaikou 的回复:] 但是Request.InputStream总是空,是怎么回事啊?非常不解啊?
内容只能读取一遍,已经被你的所谓 asp.net mvc 程序读取走了,你还能再“继续”读出什么?[/quote] 感谢您的回帖,知道您是大牛,呵呵 但是我真的不知道antion里为什么无法获取InputStream,至于您说的已经被“所谓 asp.net mvc 程序读取走了”是什么意思呢。谢谢!希望得到您的帮助。
  • 打赏
  • 举报
回复
woshimaikou 2014-01-11
引用 10 楼 sp1234 的回复:
[quote=引用 6 楼 woshimaikou 的回复:] 没有遇到这样问题的吗???
自己学会调试http消息,学会自己写一个web服务(例如ashx)来处理 Context.Request.InputStream。循序渐进才能了解问题原因,不要“只会一个代码”。[/quote] 这个也早就试过了,么有效果的。谢谢你
  • 打赏
  • 举报
回复
你最好还是搞懂你那种程序要收到 CurrentPage、SelectCategoryId、StartTime、EndTime 四个参数,该怎样写你的 SearchTrainingByAjax 方法。 如果不去搞懂内部为什么会“丢失InputStream数据流”,你只是道听途说地记住了“Position=0”,那么就算是你走了弯路也不过是照抄来的弯路。
  • 打赏
  • 举报
回复
newtee 2014-01-05
困扰你几天的问题 看了我回复的那个帖子就可以解决了
  • 打赏
  • 举报
回复
newtee 2014-01-05
http://bbs.csdn.net/topics/390536619 看下这个帖子我的回复 把position改成0就行了
  • 打赏
  • 举报
回复
引用 6 楼 woshimaikou 的回复:
没有遇到这样问题的吗???
自己学会调试http消息,学会自己写一个web服务(例如ashx)来处理 Context.Request.InputStream。循序渐进才能了解问题原因,不要“只会一个代码”。
  • 打赏
  • 举报
回复
引用 楼主 woshimaikou 的回复:
但是Request.InputStream总是空,是怎么回事啊?非常不解啊?
内容只能读取一遍,已经被你的所谓 asp.net mvc 程序读取走了,你还能再“继续”读出什么?
  • 打赏
  • 举报
回复
woshimaikou 2014-01-05
引用 7 楼 zhujiazhi 的回复:
感觉应该用一个对应的class对接收数据的

[AcceptVerbs(HttpVerbs.Post)]
       public JsonResult SearchTrainingByAjax(QueryModel query)
       {
           return Json(data);           
       }

public class QueryModel
{
//与json里面的数据字段相对应
}
这样也弄了 没效果 http://bbs.csdn.net/topics/390683364这个也是我发的。
  • 打赏
  • 举报
回复
zhujiazhi 2014-01-05
感觉应该用一个对应的class对接收数据的

[AcceptVerbs(HttpVerbs.Post)]
       public JsonResult SearchTrainingByAjax(QueryModel query)
       {
           return Json(data);           
       }

public class QueryModel
{
//与json里面的数据字段相对应
}
  • 打赏
  • 举报
回复
woshimaikou 2014-01-04
没有遇到这样问题的吗???
  • 打赏
  • 举报
回复
woshimaikou 2014-01-04
楼上说的都不行啊?
  • 打赏
  • 举报
回复
阿非 2014-01-02
F12
  • 打赏
  • 举报
回复
换成text/xml试试
  • 打赏
  • 举报
回复
licai1210 2014-01-02
把这个jsonData换成{"UserName":"xxxxx"}试试
  • 打赏
  • 举报
回复
md5e 2014-01-02
HttpVerbs.Post $.ajax({ type:"POST", ....
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

6.0w+

社区成员

.NET技术交流专区
社区管理员
  • ASP.NET
  • R小R
  • 喵叔哟
帖子事件
创建了帖子
2014-01-01 10:25
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。