javascript – 如何将AJAX请求中的id列表传递给MVC中的服务器

前端之家收集整理的这篇文章主要介绍了javascript – 如何将AJAX请求中的id列表传递给MVC中的服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在MVC中对服务器的 AJAX请求中,如何将id列表传递给控制器​​的动作函数

我接受使用或不使用Html助手.

我知道MVC的模型绑定器在简单类型(如int,string和bool)方面没有问题.

它是否像我必须在行动中使用和数组?

我不在乎我是否必须使用数组或List,即使字符串I int或字符串我总是可以转换它们.我只需要在服务器上使用它们.
我的列表ID目前为空.

使用Javascript

var ids= [1,4,5];
// ajax request with ids..

MVC行动:

public ActionResult ShowComputerPackageBuffer(List<int> ids) // ids are null
{
    // build model ect..
    return PartialView(model);
}

编辑:添加了我的AJAX请求

$(document).ready(function () {
    $('#spanComputerPackagesBuffer').on('click',function () {
        var ids = $('#divComputerPackagesBuffer').data('buffer');
        console.log('bufferIds: ' + bufferIds);
        var data = {
            ids: ids
        };

        var url = getUrlShowComputerPackageBuffer();
        loadTable(url,"result",data);
    });
});

// AJAX's
function loadTable(url,updateTargetId,data) {
    var promise = $.ajax({
        url: url,dataType: "html",data: data
    })
    .done(function (result) {
        $('#' + updateTargetId).html(result);
    })
    .fail(function (jqXhr,textStatus,errorThrown) {
        var errMsg = textStatus.toUpperCase() + ": " + errorThrown + '. Could not load HTML.';
        alert(errMsg);
    });
};

// URL's
function getUrlShowComputerPackageBuffer() {
    return '@Url.Action("ShowComputerPackageBuffer","Buffer")';
};

解决方案://感谢@aherrick评论.我错过了古老的“传统”

$.ajax({
    type: "POST",url: '@Url.Action("ShowComputerPackageBuffer","Buffer")',dataType: "json",traditional: true,data: {
        bufferIds: bufferIds
    }
});

解决方法

使用传统参数并将其设置为true.
$.ajax({
    type: "POST",url: "/URL",data: {}
});

猜你在找的Ajax相关文章