我想在mvc4中将viewmodel发送到我的控制器。我尝试的所有内容都会返回,因为viewmodel未定义。其他一切都很好。页面生成并显示它应该的所有值,但我似乎无法将vm更改为json并通过post发送
查看模型
var guideviewmodel = function () {
var self = this;
self.scencustlist = ko.observableArray([]);
...}
ko.applyBindings(new guideviewmodel);
我在viewmodel和外部都试过了。
$("#export").on("click", function (model, event) {
var json = ko.toJSON(guideviewmodel);
alert(json);
$.ajax({
type: 'POST',
url: callPath + "/api/excel",
cache: false,
contentType: 'application/json; charset=utf-8',
//data: JSON.stringify(self.scenppeditlist()),
data: ko.toJSON(this.data),
success: function () {
// success message
}
});
});
self.exporttoexcel = function () {
var json = ko.toJSON(guideviewmodel);
alert(json);
$.ajax({
type: 'POST',
url: callPath + "/api/excel",
cache: false,
contentType: 'application/json; charset=utf-8',
//data: JSON.stringify(self.scenppeditlist()),
//data: ko.toJSON(json),
data: self,
success: function () {
// success message
}
});
}
答案 0 :(得分:0)
如果您尝试这样做可能会有效:
var vm = new guideviewmodel();
ko.applyBindings(vm);
$("#export").on("click", function (model, event) {
var json = ko.toJSON(vm);
alert(json);
$.ajax({
type: 'POST',
url: callPath + "/api/excel",
cache: false,
contentType: 'application/json; charset=utf-8',
//data: JSON.stringify(self.scenppeditlist()),
data: ko.toJSON(this.data),
success: function () {
// success message
}
});
});