如何将值从JavaScript传递到控制器

时间:2019-04-10 08:26:14

标签: javascript c# jquery ajax asp.net-mvc

我正在尝试将某些文本框 id value 视图传递给 controller ajax 调用有效,但传递的值始终为 Null 。我该如何解决这个问题?

这是 ajax 调用:

function TakeInput() {
    var count = document.getElementsByTagName('input').length;
    var element = document.getElementsByTagName('input');
    for (var i = 0; i < count; i++) {
        $.ajax({
            type: 'POST',
            url: '@Url.Action("Input", "Home")',
            data: JSON.stringify(element[i].id, element[i].value),
            processData: false,
            success: function () {
                //make something
            },
            error: function (errorThrown) {
                alert(errorThrown);
            }
        })
        }

这是控制器:

public JsonResult Input(string id, string value)
        {
            //do something with the id and the value
            return Json(new { result = "Success" });
        }

提前感谢您的时间和回答。

1 个答案:

答案 0 :(得分:0)

如果循环ajax调用,可以绑定一个对象并将其传递给控制器​​,然后可以在服务器端对其进行迭代。无论根据您的代码,您都可以尝试以下

$.ajax({
        type: 'POST',
        url: '@Url.Action("Input", "Home")',
        data: JSON.stringify({ id: element[i].id, value: element[i].value}),
        dataType: 'json',
        async: false,
        contentType: 'application/json',
        success: function () {
            //make something
        },
        error: function (errorThrown) {
            alert(errorThrown);
        }
    })

进行Ajax调用时,需要像在 json结果中声明的那样声明参数,例如 id,value 等,并将其绑定到数据属性