如何在Kendo Upload的onError事件中获取ActionResult返回的错误信息
Kendo Upload组件onError事件获取服务端返回错误文本的实现方法
可以直接在onError事件中获取到服务端返回的错误文本,无需修改现有后端逻辑,实现方式如下:
实现原理
Kendo Upload组件的onError事件触发时,会传入包含原生XHR请求对象的事件参数,服务端返回的纯文本错误内容直接存储在XHR对象的responseText属性中,和控制台打印的服务端响应内容完全一致。
代码示例
1. Razor端绑定Error事件
@(Html.Kendo().Upload() .Name("uploadFiles") .Async(a => a .Save("UploadAction", "YourController") .AutoUpload(true) ) // 绑定错误事件处理函数 .Events(e => e.Error("onUploadError")) )
2. JS事件处理函数中提取错误文本
function onUploadError(e) { // 直接获取服务端返回的错误文本 const serverError = e.XMLHttpRequest.responseText; // 可直接用于页面提示、日志输出等业务逻辑 console.log("上传失败:", serverError); alert(serverError); }
补充说明
如果后续后端调整为返回JSON格式的错误信息,只需将responseText转为JSON对象即可读取对应字段:
// 仅后端返回JSON时使用 const errorObj = JSON.parse(e.XMLHttpRequest.responseText); const errorCode = errorObj.code; const errorMsg = errorObj.message;
内容的提问来源于stack exchange,提问作者NicCodes
相关产品推荐
相关产品推荐

