问题描述
||
我有以下代码,但是一旦将其提交到服务器,我将得到\“ undefined \”字符串,而不是null或空字符串。由于我无法执行验证,因此导致出现问题。关于如何使用淘汰赛的任何想法。
var viewmodel = {
userName: ko.observable(\"\"),emailAddress: ko.observable(\"\"),verifyEmailAddress: ko.observable(\"\"),OptOut: ko.observable(true),Grades: [\"Grade 1\",\"Grade 2\",\"Grade 3\",\"Grade 4\",\"Grade 5\",\"Grade 6\"],gradeselected: ko.observable([\"Grade 1\"])
};
ko.applyBindings(viewmodel);
$(\"#addUser\").click(function (e) {
$.ajax({
url: \'AddUser\',dataType: \'json\',data: JSON.stringify(viewmodel),type: \'POST\',success: function (data) {
$(\"#errorSection\").text(data.Success).show();
}
});
e.preventDefault();
});
提前致谢
解决方法
代替
ko.toJSON(viewModel)
,而不是ko.toJSON(viewModel)
,它会在进行串化之前先打开所有可观察对象的包装。一些有用的文档在这里:http://knockoutjs.com/documentation/json-data.html
, 我认为首先您应该更改:
gradeSelected:ko.observable(等级[0])
也许您想将等级更改为observableArray。我会将其放在评论中,但还不能。