我正在尝试将某些文本框的 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" });
}
提前感谢您的时间和回答。
答案 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 等,并将其绑定到数据属性