2

ajax 是否可以发送一个 json-array(带有 json 对象的数组)并且还包括一个单独的参数以在 MVC 操作方法中接收?

JavaScript:

var n = {
    number: 1           
};

$.ajax({
    type: "POST",
    url: url,
    contentType: "application/json; charset=utf-8",
    dataType: "html",
    data: JSON.stringify({jsonObjects:json, number:n}),
    success: function (response) {
        $('#body').html(response)
    }

});

MVC 动作:

public ActionResult Create(List<JsonObjects> jsonObjects, int? number)

JsonObjects 像预期的那样进来,但数字为空。

4

2 回答 2

2

看来您的n变量声明是错误的。

尝试以下

var n = 1;

$.ajax({
        type: "POST",
        url: url,
        contentType: "application/json; charset=utf-8",
        dataType: "html",
        data: JSON.stringify({jsonObjects:json, number:n}),
        success: function (response) {
            $('#body').html(response)
        }

        }
    });
于 2013-10-18T09:52:54.320 回答
0

试试下面的代码:

var n = 1;

$.ajax({
    type: "POST",
    url: url,
    contentType: "application/json; charset=utf-8",
    dataType: "html",
    data: json+ "&number=" + n,
    success: function (response) {
        $('#body').html(response)
    }

});

如果这不起作用,我深表歉意,因为我无法准确测试这种情况,但以下行应该大致是您所追求的,并且在类似情况下对我有用:

data: json+ "&number=" + n,

另外,请参阅此相关问题,它可能会帮助您解决问题。

于 2013-10-18T10:03:07.093 回答