我问了一个问题,将客户端的模型数据填入数组。
现在我的问题是如何将其发布到控制器。我试过这个:
public ActionResult ItemRequest (Model1 model)
{
////
}
但它永远不会到达那里。
我正在尝试使用AJAX请求发送它:
function sendRequest() {
jsonData.items = itemArray;
$.ajax({
url: '@Url.Action("ItemRequest")',
type: 'POST',
data: JSON.stringify(jsonData),
///// and so on
}
但是从不调用动作结果。我可以删除'JSON.stringify',它没有任何区别。关于如何将此对象发布到控制器的任何想法?
如果我在JS中制作一个伪造的模型它工作正常,但我不想制作这个模型,我宁愿使用传递给页面的模型。
function itemModel () {
var self = this;
this.itemNumber = $("#itemNumberId").val();
/// etc.
self.items = [];
}
function itemsModel () {
var self = this;
this.itemNumber = $("#itemNumberId").val();
/// etc
}
然后
var itemCount = 0;
function addItem() {
var newItem = new itemModel();
newItem.items[itemCount] = newItem;
/// etc
}
这很好用。
我以与JSON.stringify相同的方式将数组itemModel直接发送到控制器方法
public ActionResult ItemRequest(ItemModel model)
答案 0 :(得分:0)
我们正在使用它将数据发送到内部测试方面的API控制器方法: 它可能不是最漂亮的解决方案,但它可以在任何页面上使用。
应该发送什么数据:
$("#btnSend").click(function () {call("controller/method", {ParamName: $("#field").val()}); });
将数据发送到控制器:
$(document).ready(function () {
var call = function (method, requestData, resultHandler) {
var url = method.substring(0, 1) == "/api/" + method;
$.ajax({
url: url,
dataType: 'json',
data: JSON.stringify(requestData),
type: 'POST',
contentType: 'application/json',
success: function (data) {
var isSuccess = data.Status == "success";
$("#jsonResponse").val(FormatJSON(data));
if (isSuccess && jQuery.isFunction(resultHandler)) {
resultHandler(data);
}
}
});
};