我在移动应用程序开发中上传文件时遇到了插件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))
});
结果-
eventName:“错误” JS:对象:{JS:“ _ observers”:{JS:
“完整”:[JS:{} JS:],JS:“错误”:[JS:{} JS:],JS:“已响应”:[JS:{} JS:] JS:},JS: “ _session”:{JS:“ _id”:“文件上传” JS:},JS:“ _id”: “ file-upload {1}”,JS:“ _ description”:“日志文件”,JS:“ _ upload”: 4309,JS:“ _ totalUpload”:4309,JS:“ _ status”:“错误” JS:} JS: 错误:“空” JS:响应代码:“ 400” JS:响应: net.gotev.uploadservice.ServerResponse@73e7f34
预期:-响应:{isSuccess:false,msg:'Token-Invalid'}
答案 0 :(得分:2)
该插件不会解析错误事件的响应,但是您可以在Android上使用以下代码获取JSON响应。
const responseObj = event.response && JSON.parse(event.response.getBodyAsString());