在Javascript中使用Ajax函数将对象列表视图传递给控制器

时间:2013-02-18 03:50:43

标签: javascript json asp.net-mvc-3

我有一个列表对象。我想通过Ajax函数将我的列表视图传递给控制器​​我的代码如:

    function Save()
    {
        debugger;
        if(!ValidateInput()) return;
        var oRecipe=RefreshObject();
        var oRecipeDetails=$('#tblRecipeDetail').datagrid('getRows');
        var postData = $.toJSON(oRecipe);
        var mydetailobj= $.toJSON(oRecipeDetails);
//        postData="Hello world!!!!!!! Faruk";
        //return;
        $.ajax({
            type: "GET",
            dataType: "json",
            url: '/Recipe/Save',
            data: { myjsondata : postData, jsondetailobject : mydetailobj},
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                debugger;
                oRecipe = jQuery.parseJSON(data);
                if (oRecipe.ErrorMessage == '' || oRecipe.ErrorMessage == null) {
                    alert("Data Saved sucessfully");
                    window.returnValue = oRecipe;
                    window.close();
                }
                else {
                    alert(oRecipe.ErrorMessage);
                }
            },
            error: function (xhr, status, error) {
                alert(error);
            }

        });
    }

正常情况下,如果列表长度< = 3/4,我的代码会成功运行,但是当我的列表长度> 4出现问题时。我找不到什么是bug?请任何人建议我

注意:这里我尝试传递list对象转换为JSON数据

1 个答案:

答案 0 :(得分:0)

为什么键入“GET”?很明显,您希望将数据发布回控制器。将其更改为“POST”并尝试。

$.ajax({
            type: "POST",
            dataType: "json",
            ...