Ajax json帖子不起作用

时间:2012-04-25 12:48:23

标签: asp.net-mvc jquery

我需要将json数据传递给控制器​​。因此我创建了一个ajax帖子。但它没有调用行动方法。

function DeleteRow(postData) {
$.ajax({
    url: '@Url.Action("DeleteGridRow","Project")',
    type: 'POST',
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    async: false,
    data: JSON.stringify(postData),
    success: function (data) {

    }
});

}

我的行动方法

 [HttpPost]
    public JsonResult DeleteGridRow(string postData)
    {
        return Json(null);
    }

请帮忙

1 个答案:

答案 0 :(得分:2)

如果您已将javascript文件与cshtml或vbhtml页面分开,那么这不会起作用。您的URL将被错误地解释。您应该将提交的URL传递给函数DeleteRow。像这样:

$("#myForm").submit(function() {
    var url = $(this).attr("action");
    var data = Use your method to collect data or $(this).serialize();

    DeleteRow(url, data);
});

function DeleteRow(url, postData) {  
    $.ajax({  
        url: url,  
        type: 'POST',  
        dataType: "json",  
        contentType: "application/json; charset=utf-8",  
        async: false,  
        data: JSON.stringify(postData),  
        success: function (data) {  

    }  
});

这样的事情应该有效。