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

使用AJAX将JavaScript数组发布到asp.net MVC控制器

慕云
2023-03-14
问题内容

我的控制器:

[HttpPost]
public ActionResult AddUsers(int projectId, int[] useraccountIds)
{
    ...
}

我想通过AJAX将参数发布到控制器。传递int projectId并不是问题,但是我无法发布int[]

我的JavaScript代码:

function sendForm(projectId, target) {
    $.ajax({
        traditional: true,
        url: target,
        type: "POST",
        data: { projectId: projectId, useraccountIds: new Array(1, 2, 3) },
        success: ajaxOnSuccess,
        error: function (jqXHR, exception) {
            alert('Error message.');
        }
    });
}

我尝试了一个测试阵列,但没有成功。:(我也尝试设置traditional: truecontentType: 'application/json; charset=utf-8'但也没有成功…

int[] useraccountIds贴到我的控制器总是空。


问题答案:

您可以定义一个视图模型:

public class AddUserViewModel
{
    public int ProjectId { get; set; }
    public int[] userAccountIds { get; set; }
}

然后调整您的控制器动作以将此视图模型作为参数:

[HttpPost]
public ActionResult AddUsers(AddUserViewModel model)
{
    ...
}

最后调用它:

function sendForm(projectId, target) {
    $.ajax({
        url: target,
        type: 'POST',
        contentType: 'application/json',
        data: JSON.stringify({ 
            projectId: projectId, 
            userAccountIds: [1, 2, 3] 
        }),
        success: ajaxOnSuccess,
        error: function (jqXHR, exception) {
            alert('Error message.');
        }
    });
}


 类似资料:
  • 问题内容: 我正在尝试将JSON数组发布到MVC控制器。但是,无论我尝试什么,都为0或null。 我有包含文本框的表。我需要所有这些文本框中的ID和值作为对象。 这是我的Javascript: 这是我的查看代码: 这是控制器即时通讯试图接收数据以: 我究竟做错了什么? 问题答案: 您的代码有很多问题。让我们从标记开始。您有一个表,该表的每一行中都包含隐藏字段。除了您已经对那些隐藏元素的属性进行了硬

  • 问题内容: 我正在使用DataTables。我想让用户选择多个行并将其删除。到目前为止,我可以使用它,因此它使用下面的代码删除选择的第一行。 Ajax代码: Django代码: 我如何更新它以将所有行ID传递给Django后端?我想我需要发布anSelected数组,但不确定如何执行此操作。处理该整数数组需要什么Django代码? 问题答案: 您需要使用,例如,如果要传递anSelected数组,

  • 问题内容: 在我的ASP.NET 5 MVC 6应用程序中,我想用Ajax发布一些数据到我的控制器。我已经使用ASP.NET MVC 5做到了这一点,并且在空白的ASP.NET MVC 5项目中测试了完全相同的代码,并且可以正常工作,但是对于新版本,我做不到,我也不知道为什么。通过Ajax调用,我可以转到控制器,创建模型,但是字段为null(对于布尔值,则为false)。这是我的代码: scrip

  • 问题内容: 我有一个简单的php文件,它可以解码我的json字符串,并与ajax一起传递并标记结果,但是我不能保留变量,为什么? 我尝试使用fireBug进行检查,我可以看到POST请求已正确发送,当调用 php 脚本时,他对我做出了Noooooooob的响应,似乎已设置了任何POST变量。 我想要的就是拥有我的数组=) JSON字符串由生成: 的JavaScript save_categorie

  • 问题内容: 我试图实现对包含复杂对象作为参数的控制器操作方法的JQueryAJAX调用。我读了很多博客,并尝试了从中学习到的几种技巧。 我想触发一个异步发布,当用户在某个字段上制表符时调用该异步发布(不是表单保存发布–如我发现的其他示例所示)。 我的意图是: 在客户端上实例化一个对象(不是为View提供类型的ViewModel); 使用视图中多个字段中的数据填充对象; 将此对象转换为JSON; 使

  • 问题内容: 我一直在这里看问题:将MVCajaxjson发布到控制器操作方法,但不幸的是,它似乎并没有帮助我。我的几乎完全相同,除了我的方法签名(但是我已经尝试过了,但仍然没有被击中)。 jQuery的 控制者 但是,无论我尝试什么,我都不会受到打击。通过调试,我知道它发送了一个请求,每次都会得到一个错误。 问题答案: 您的操作需要字符串参数,但是您要发送一个复合对象。 您需要创建一个与您要发送的