2011-02-23 99 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