Kendo UI 更新请求不使用 JSON 的问题,无论数据类型如何:JSON 属性
Issue with KendoUI update request not using JSON, regardless of dataType: JSON property
我已经搜索了调度程序小部件的 KendoUI 文档,并在 "premium" 论坛上提出了这个问题,但无济于事。
我正在尝试 post 将数据发送到我的 NodeJS API。按照文档,我在我的数据源构造函数中设置了这个传输对象以进行更新:
update: {
url: "/meeting",
dataType: "json",
type: "POST"
}
这应该反映 AJAX 对象属性。但是,req.params、req.body、req.query数据都是空的。我用Fiddler查看了request body的内容,如下:
_id=56bcab3a2df7994c5a073201&created_by=andrewwimley&case_desc=asdf&creation_timestamp=Thu+Feb+11+2016+09%3A39%3A38+GMT-0600+(CST)&date=Thu+Feb+11+2016+09%3A39%3A38+GMT-0600+(CST)&createdBy=andrewwimley&createDateTime=02%2F11%2F2016+09%3A39+am&endDateString=02-10-2016+11%3A59+pm&startDateString=02-10-2016+12%3A00+am&type=schedule_entry&__v=0&meeting_id=56bcab3a2df7994c5a073201&case_name=asdfFFFF&start_time=Thu+Feb+11+2016+09%3A39%3A38+GMT-0600+(Central+Standard+Time)&end_time=Thu+Feb+11+2016+09%3A39%3A38+GMT-0600+(Central+Standard+Time)&desc=asdf&mediator_LawyerIDs%5B%5D=475840&meeting_result=Manual
这显然不是JSON格式。通过 KendoUI 强制 JSON 格式化,或者找到一个能够将其解析为 JSON 对象的节点模块将解决我的问题。
约翰回答了他的评论。
Kendo 声明读取、更新和销毁下的对象镜像 AJAX 对象。这显然不是 AJAX 的情况,您只需要:
dataType: "json",
contentType: "application/json",
type: "POST"
使请求正文 JSON 可解析。
KendoUI,但是需要设置parameterMap 属性。像这样配置它解决了我的数据类型问题:
update: {
url: "/meeting", //node rewrite
dataType: "JSON",
type: "POST",
contentType: "application/json; charset=utf-8"
},
parameterMap: function (data, op) {
return JSON.stringify(data);
}
我已经搜索了调度程序小部件的 KendoUI 文档,并在 "premium" 论坛上提出了这个问题,但无济于事。
我正在尝试 post 将数据发送到我的 NodeJS API。按照文档,我在我的数据源构造函数中设置了这个传输对象以进行更新:
update: {
url: "/meeting",
dataType: "json",
type: "POST"
}
这应该反映 AJAX 对象属性。但是,req.params、req.body、req.query数据都是空的。我用Fiddler查看了request body的内容,如下:
_id=56bcab3a2df7994c5a073201&created_by=andrewwimley&case_desc=asdf&creation_timestamp=Thu+Feb+11+2016+09%3A39%3A38+GMT-0600+(CST)&date=Thu+Feb+11+2016+09%3A39%3A38+GMT-0600+(CST)&createdBy=andrewwimley&createDateTime=02%2F11%2F2016+09%3A39+am&endDateString=02-10-2016+11%3A59+pm&startDateString=02-10-2016+12%3A00+am&type=schedule_entry&__v=0&meeting_id=56bcab3a2df7994c5a073201&case_name=asdfFFFF&start_time=Thu+Feb+11+2016+09%3A39%3A38+GMT-0600+(Central+Standard+Time)&end_time=Thu+Feb+11+2016+09%3A39%3A38+GMT-0600+(Central+Standard+Time)&desc=asdf&mediator_LawyerIDs%5B%5D=475840&meeting_result=Manual
这显然不是JSON格式。通过 KendoUI 强制 JSON 格式化,或者找到一个能够将其解析为 JSON 对象的节点模块将解决我的问题。
约翰回答了他的评论。
Kendo 声明读取、更新和销毁下的对象镜像 AJAX 对象。这显然不是 AJAX 的情况,您只需要:
dataType: "json",
contentType: "application/json",
type: "POST"
使请求正文 JSON 可解析。
KendoUI,但是需要设置parameterMap 属性。像这样配置它解决了我的数据类型问题:
update: {
url: "/meeting", //node rewrite
dataType: "JSON",
type: "POST",
contentType: "application/json; charset=utf-8"
},
parameterMap: function (data, op) {
return JSON.stringify(data);
}