【问题标题】:Send javascript variable along with form data and bind it to model发送 javascript 变量以及表单数据并将其绑定到模型
【发布时间】:2013-03-18 13:40:24
【问题描述】:

我有一个简单的 html 页面。 它包含一个表格。 例如:学生信息

型号:

公开课学生()
{
     公共 int Roll_no {get;set}
公共字符串名称 {get;set}
}

Html 也有 javascript:

<script>

var foo= "1";
var bar = "2";

</script>

控制器看起来像

public ActionResult AjaxCallCOntroller(int foo, int bar, Student stud)
{
.....
......
}

现在我需要对这个控制器进行 ajax 调用,它将传递这些值:

       **ajax call:**
var studentform = ("#studentform").serialize();
$.ajax({
    type:"POST"
    , url:"appname/AjaxCallCOntroller"
    , dataType:"json",
    , data:{foo:foo,bar:bar,stud:studentform},
    , success:function(){
      //function body
    }
);

问题是控制器接收到foobar 但学生对象为空。 如果单独发送学生对象,则会收到它。 即:数据:学生表格
在这方面需要帮助。

【问题讨论】:

  • 我认为这应该可以工作data:{ studentform + "&amp;foo=" +foo+ "&amp;bar=" + bar},
  • AjaxCallController 期望第三个参数为 Stud 对象。不知道从 php 调用时它会解释什么,但肯定 javascript 是不同的。

标签: javascript forms jquery data-binding


【解决方案1】:

试试这个:

var studentform = ("#studentform").serializeArray();
studentForm.push({ name: 'foo', value: foo });
studentForm.push({ name: 'bar', value: bar });
$.ajax({
    type:"POST"
    , url:"appname/AjaxCallCOntroller"
    , dataType:"json"
    , traditional: true
    , data:studentform
    , success:function(){
      //function body
    }
);

【讨论】:

  • 成功了。尝试了一整天。非常感谢 Karaxuna。
  • 很高兴它对你有所帮助:)
猜你喜欢
  • 2015-02-18
  • 1970-01-01
  • 2013-11-15
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多