当前位置: 首页 > 面试题库 >

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

方焱
2023-03-14
问题内容

在对MVC中的服务器的AJAX请求中,如何将ID列表传递给控制器​​的动作函数?

我接受是否使用HTML帮助程序。

我知道,当涉及到简单的类型,如MVC的模型绑定没有问题intstringbool

就像我必须在动作中使用和数组一样吗?

我不在乎我是否必须使用array或者List即使字符串我intstrings我总是可以将它们转换。我只需要它们在服务器上。我的列表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
    }
});

问题答案:

使用traditional参数并将其设置为true

$.ajax({
    type: "POST",
    url: "/URL",
    dataType: "json",
    traditional: true,
    data: {}
});


 类似资料:
  • 问题内容: 我想将数组作为Ajax请求发送: 我怎样才能做到这一点? 问题答案: info = []; info[0] = ‘hi’; info[1] = ‘hello’;

  • 问题内容: 我想通过AJAX传递列表。如何执行此操作并在运行时分配值。我正在做,但是它传递了空值。这是我的代码。 jQuery的: 控制器: 它发送 “ item value is null” 。请帮我。 问题答案: 假设包含属性和,则脚本需要

  • 问题内容: 我正在使用Scala Play!2.6框架,但这可能不是问题。我正在使用他们的Javascript路由- 似乎可以正常工作,但出现了问题。我有一个带有CSRF令牌的表单,在渲染时会产生这种情况: 这大概是我的AJAX: 但是,当我发布此消息时,我从服务器返回了未经授权的响应,并且IntelliJ中的控制台告诉我CSRF检查失败。如何在请求中传递CSRF令牌? 问题答案: 好的,经过几个

  • 我只是在这里张贴这篇文章,作为我对一个相当微妙的问题的回答。 我有两台服务器(两台不同的机器): 一些静态文件位于名为< code>/audiofiles的目录中,这些文件需要在< code > www . website . com/audio files 上访问,但存储在< code>backend.website.com的机器上。是的,这是一个令人费解的要求,但这是我们的情况,无法改变。 我

  • 这可能是一个简单的问题。我尝试过谷歌搜索,但没有成功。我有一个DTO,它是从客户机传递过来的,由restful Web服务使用。但是得到这个例外 这是我的restful方法。 这是我平静的呼唤

  • 我正在使用SoundCloud api创建一个应用程序,并尝试附加用户输入的字符串值,但它在界面中显示为null,我如何在url中附加该值? MainActivity.java SCService.java 搜索的字符串在我的SoundCloud.java类 我想在GET参数中附加那个SCURL字符串,但它显示了SCURL的null值,我如何实现这一点? 更新:我如上所述更改了代码,但出现了此错误