首页 新闻 会员 周边 捐助

jQuery load() 如何 post 表单数据到asp.net mvc?

0
悬赏园豆:5 [已关闭问题] 关闭于 2011-04-01 19:43

前端:

<form id="myForm">
  
<input id="username" name="username" type="text" value="" />
  
<input id="sex" name="sex" type="text" value="" />
</form>
<div id="resultDiv"></div>

 

 

javascript(使用jQuery和jquery.form):

$("resultDiv").load("/MyControler/MyAction"
          , $(
"#myForm").formSerialize()
          ,
function() {
            alert(
"ok);
          }
)

 

 

net mvc c#:

public ActionResult MyAction()
{
  
//只调用了这里
  return view();
}

[HttpPost]
public ActionResult MyAction(MyModel newClass)
{
//想调用这里
  return view();
}

 

 

想用jQuery 的load模拟表单的提交操作,调用mvc 的MyAction(MyModel newClass),但是却调用到了MyAction(),如果把load的第二个参数改为{a:1,b:2}却成功了:

$("resultDiv").load("/MyControler/MyAction"
          
//, $("#myForm").formSerialize()
          ,{username:$("#username").val(),sex:$("sex").val()} //这样就可以了,但麻烦
          , function() {
            alert(
"ok);
          }
)

 

 


也就是说 formSerialize()的结果作为load的第二参数时,mvc不认为load的请求是post。

但是如果表单内容很多的话就比较麻烦,请问有没有什么好的办法?

 

weiva的主页 weiva | 初学一级 | 园豆:175
提问于:2011-01-26 18:22
< >
分享
所有回答(2)
0

input加name属性,值和id一样

Gray Zhang | 园豆:17610 (专家六级) | 2011-01-26 21:24
有name也不行,我原来的代码就是有name的,只不过写到博客园的时候忘了。
支持(0) 反对(0) weiva | 园豆:175 (初学一级) | 2011-01-26 22:40
0

直接在body加载完了,用ajax不就行了。何必用这样的方式呢!

FlyDragon | 园豆:396 (菜鸟二级) | 2011-01-27 18:00
因为不想刷新页面,页面里面还有其他表单。
支持(0) 反对(0) weiva | 园豆:175 (初学一级) | 2011-01-28 09:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册