【发布时间】:2013-01-17 20:35:34
【问题描述】:
当我尝试将 Json 格式的表单数据发布到服务器时,我正在运行一些错误。我的代码如下。
permissionRequestModel.requestPermission = function () {
if ($("#permissionRequestForm").valid()) {
$.ajax({
url: "",
type: "POST",
data: ko.toJSON(this),
processData:false,
contentType: "application/json",
dataType:"json",
success: function (result) {
alert("Success");
},
error: function (result) {
alert(result.responseText);
}
});
}
else {
}
};
敲除模型如下
//Model
var permissionRequestModel = {
coNumber: ko.observable(''),
employName: ko.observable(''),
fromDate: ko.observable(''),
toDate: ko.observable(''),
checkFullDay: ko.observable(false),
fromTimeHH: ko.observable(''),
fromTimeMM: ko.observable(''),
toTimeHH: ko.observable(''),
toTimeMM: ko.observable(''),
permissionTypeOne: ko.observable(''),
permissionTypeTwo: ko.observable(''),
approverList: ko.observableArray([]),
reasonLeave: ko.observable('')
};
在某些地方阅读可能是因为 Json 可能在发送到服务器之前被编码,但即使设置 processData 也无法解决它。请指导。
错误信息
【问题讨论】:
-
你能与我们分享你得到的错误吗?
-
假设 url 中的空格只是一个错字,
data在ko.toJSON之后是什么样子?您的 JSON 中有任何未转义的引号吗?另外,回显@nemesv,您从错误回调中得到的错误是什么? -
网址空格是错字,已编辑问题以包含错误消息。谢谢。
-
@nemesv 我现在无法访问服务器端代码,但我发现错误是因为approverList:ko.observable([]) 将null 作为其值传递。当在那里给出一个值时,它工作正常。感谢您的宝贵时间。
-
@nemesv 你能帮忙删除上面的评论吗,因为它包含一些敏感的名字。
标签: json jquery knockout.js