2011-02-23 92 views
0

HI, 我正在将产品模型发送给我的控制器方法。我正在获取发布表单的字符串。它需要将它发送到键/值对或整个产品模型中。任何帮助将apprecaited。使用jQuery发布MVC查看数据

var link = '/Product/AddRec?callback=?'; 

var formdata = $("form").serialize(); 
       $.ajax({ 
        url: link, 
        type: 'POST', 
        data: { 
         'obj' : formdata, 
         'jin': 1, 
         'deb': 2) 
        }, 
        dataType: "jsonp" 

       }); 
+5

你为什么在'javascript中包含'
'标签? – 2011-02-23 21:17:08

+0

对不起忽略
我没有格式化这里的帖子 – Hidsman 2011-02-23 21:29:02

回答

0

我会使用jQuery form plugin来做到这一点。它处理序列化表单内容,并且如果查看选项,则可以指定其他数据。你上面的例子就变成:

$.ajaxSubmit({ 
        url: link, 
        type: 'POST', 
        data: { 
         'jin': 1, 
         'deb': 2) 
        }, 
        dataType: "jsonp" 

       }); 

它负责序列化的形式,并以适当的形式将数据发送到服务器。

1

,我认为它应该工作

$.ajax({ 
    url: '/Product/AddRec?callback=?', 
    type: 'POST', 
    data: $("form").serialize() + "&jin=1&deb=2" 
}); 

编辑:

为达林季米特洛夫要求,何去何从愚见解释

考虑我的产品类

public class Product { 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

我想你动作就像

[HttpPost] 
public ActionResult AddRec(Product product, int jin, int deb) { 
    // code 
} 

形式

<form id="productForm"> 
    <%: Html.HiddenFor(p => p.Id) %> 
    <%: Html.TextBoxFor(p => p.Name) %> 
    <input type="button" value="Send form" onclick="SendForm();" /> 
</form> 

假设编号= “1” 和Name = “达林Dimitrov的”。

jQuery将连载我的表单如

ID = 1 &名称=达林+季米特洛夫

,将与额外的数据Concat的成为

ID = 1 &名称=达林+季米特洛夫&斤= 1 & DEB = 2

<script type="javascript/text"> 
    function SendForm() { 
     $.ajax({ 
      url: '/Product/AddRec?callback=?', 
      type: 'POST', 
      data: $("#productForm").serialize() + "&jin=1&deb=2" 
     }); 
    } 
</script> 

动作应收到

product.Id = 1 
product.Name = "Darin Dimitrov" 
jin = 1 
deb = 2 

这就是所有,抱歉如果我不能帮你OP。

+0

不,它绝对不会工作。 – 2011-02-23 22:07:27

+0

这很奇怪,这里有效。你有另一种解决方案与我们分享@Darin Dimitrov吗? – 2011-02-23 22:27:20

+0

@Kim Tranjan,不,我不知道,因为我不知道在这里问什么:-) OP的问题对我来说并不清楚。我不知道他的情况如何,他想达到什么目的。 – 2011-02-23 22:28:55