Javascript 使用Dojo.JsonRest调用grid.model.save()的gridx lazyedit在500 put响应上解析
我正在尝试使用dojo.gridx和dojo.JsonRest作为内存存储。我正在使用lazyEdit功能,因为在提交之前需要完全填写行的某些限制 我有一个按钮和延迟对象,定义如下Javascript 使用Dojo.JsonRest调用grid.model.save()的gridx lazyedit在500 put响应上解析,javascript,dojo,dojo.gridx,Javascript,Dojo,Dojo.gridx,我正在尝试使用dojo.gridx和dojo.JsonRest作为内存存储。我正在使用lazyEdit功能,因为在提交之前需要完全填写行的某些限制 我有一个按钮和延迟对象,定义如下 grid.startup(); // var gridDeferred = new Deferred(function(reason){ // do something when the Deferred is cancelled // alert("cancele
grid.startup();
// var gridDeferred = new Deferred(function(reason){
// do something when the Deferred is cancelled
// alert("canceled");
// });
var saveButton = new Button({
label: "Save All Changes",
onClick: function(){
gridDeferred = grid.model.save();
// gridDeferred = grid.model.when();
gridDeferred.then(function(value){
alert("done");
},function(err){
alert("err");
}, function(update){
alert("update");
});
}
}, "Update").startup();
我还尝试在按钮上的onclick事件之前取消对延迟对象的注释,但仍然没有成功
这是我从服务器返回的响应头
HTTP/1.1 500 Internal Server Error
Cache-Control: private, s-maxage=0
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: "removed by McFrank"
X-AspNetMvc-Version: 5.2
X-AspNet-Version: 4.0.30319
Set-Cookie: "removed by McFrank"
X-Powered-By: "removed by McFrank"
Date: "removed by McFrank"
Content-Length: 46
我是否忘记添加一个头,以便dojo核心库拒绝该请求?我还可以看到调试器中抛出的follow错误
PUT http://localhost:36348/admin/sales/1 500 (Internal Server Error)xhr
@dojo.js:15dojo.xhr
@ dojo.js:15_4.put
@ JsonRest.js:33_60c.around.advice
@ dojo.js:15_607.(anonymous function)._60c
@ dojo.js:15declare._saveRow
@ Modify.js:412(anonymous function)
@ Modify.js:249_5b5.forEach
@ dojo.js:15declare.save
@ Modify.js:248declare._call
@ _Extension.js:67declare._call
@ _Extension.js:67declare._call
@ _Extension.js:67declare._call
@ _Extension.js:67declare._mixinAPI.api
@ _Extension.js:76Button.onClick
@ salesdata:540_1._onClick
@ _ButtonMixin.js:16(anonymous function)
@ dojo.js:15_1.__onClick
@ _ButtonMixin.js:7(anonymous function)
@ dojo.js:15
我也得到了这个错误
_5aa {message: "Unable to load /admin/sales/1 status: 500", response: Object, status: 500, responseText: "DealershipProductID:System.Web.Mvc.ModelError,", xhr: XMLHttpRequest}message: "Unable to load /admin/sales/1 status: 500"response: ObjectresponseText: "DealershipProductID:System.Web.Mvc.ModelError,"stack: (...)get stack: () { [native code] }set stack: () { [native code] }status: 500xhr: XMLHttpRequest__proto__: _5aa_4c3 @ dojo.js:15(anonymous function) @ dojo.js:15_1fe @ dojo.js:15_1fc @ dojo.js:15dojo.Deferred.reject.errback @ dojo.js:15_1fe @ dojo.js:15_1fc @ dojo.js:15dojo.Deferred.reject.errback @ dojo.js:15(anonymous function) @ dojo.js:15_4ec @ dojo.js:15_4e6 @ dojo.js:15_504.reject @ dojo.js:15_4f2 @ dojo.js:15_4ec @ dojo.js:15_4e6 @ dojo.js:15_504.reject @ dojo.js:15_4f2 @ dojo.js:15_4ec @ dojo.js:15_4e6 @ dojo.js:15_504.reject @ dojo.js:15_4f2 @ dojo.js:15_4ec @ dojo.js:15_4e6 @ dojo.js:15_504.reject @ dojo.js:15_4f2 @ dojo.js:15_4ec @ dojo.js:15_4e6 @ dojo.js:15_504.reject @ dojo.js:15_40b @ dojo.js:15_417 @ dojo.js:15
我还尝试让dojo xhr请求出错,它在以下请求中会出错
xhr.put("http://localhost:36348/admin/sales/1", {
data:{"Id":1,"ProductID": null,"AccountExecName":"something","NetCommissionAmount":13625},
handleAs:"json"
}).then(function(data){
alert("testDone")
},function(err){
alert("testerror");
}, function(evt){
alert("testxhr");
}
)
github上的工匠发布了这一回应。我没有尝试或测试过他的方法 在gridx/core/model/extensions/Modify.js中,保存函数 两种选择:
dl=新延迟列表(da)
todl=新的延迟列表(da、false、true)代码>
现在可以调用错误回调
d.callback()代码>到d.callback(参数)代码>
第二个子项是更新成功时更新的对象,否则第二个子项是表示错误的ErrorCtor对象,您可以从中解析错误消息,github上的craftmans发布了此响应。我没有尝试或测试过他的方法 在gridx/core/model/extensions/Modify.js中,保存函数 两种选择:
dl=新延迟列表(da)
todl=新的延迟列表(da、false、true)代码>
现在可以调用错误回调
d.callback()代码>到d.callback(参数)代码>
第二个子项是更新成功时更新的对象,否则第二个子项是表示错误的ErrorCtor对象,您可以从中解析错误消息