nativescript - 上传失败错误块中不适当的服务器响应 net.gotev.uploadservice.ServerResponse@73e7f34
问题描述
我在移动应用程序开发中在插件 NativeScript/nativescript-background-http 的错误块(回调)中获取服务器响应以上传文件时遇到问题。基于错误服务器响应将执行其他操作
插件 nativescript-background-http 的错误回调
将文件上传到服务器,我已经能够在响应的回调中读取响应,但这是成功的情况。
task.on("responded", (e:any)=>{
//response
let response= JSON.parse(e.data)
});
如果出现错误,它将无法正常工作
let task = session.multipartUpload(params, request);
task.on("error", event => {
console.dir(event);
console.log(JSON.stringify(event))
console.log(event.responseCode);
console.log(event.response)
// console.log((JSON.parse(event.response))
});
结果-
事件名称:“错误” JS:对象:{ JS:“_observers”:{ JS:
“完成”:[ JS:{} JS:],JS:“错误”:[ JS:{} JS:],JS:“回应“:[ JS:{} JS:] JS:},JS:“_session”:{ JS:“_id”:“文件上传” JS:},JS:“_id”:“文件上传{1} ", JS: "_description": "日志文件", JS: "_upload": 4309, JS: "_totalUpload": 4309, JS: "_status": "error" JS: } JS: error: "null" JS: responseCode:“400” JS:响应:net.gotev.uploadservice.ServerResponse@73e7f34
预期:-响应:{ isSuccess:false, msg:'Token-Invalid' }
解决方案
该插件不会解析错误事件的响应,但您可以在 Android 上使用以下代码获取 JSON 响应。
const responseObj = event.response && JSON.parse(event.response.getBodyAsString());
推荐阅读
- npm - 使用不匹配的 PostCSS 依赖项时出错
- java - Spring-WS 请求输入即将为空
- elasticsearch - Elasticsearch - 有条件的计数和求和桶
- spring - 在不使用基于文件的属性占位符的情况下设置动态 restConfiguration 端口
- java - 如何验证多个编辑文本?我正在使用 TextUtils 只能获取 1 个文本
- javascript - D3 .bandwidth() 返回 NaN
- java - 如何为Android Fragments(Tabs Activity)实现onBackPressed
- java - SpringMVC中Redirect或RedirectModel问题的解决方案
- java - Java Servlet - 找不到符号 - 同一文件夹中的对象
- go - 解析 io.ReadAll 以匹配特定表达式