gpt4 book ai didi

javascript - 如果 responseType 是 arraybuffer,如何从 $http 读取 JSON 错误响应

转载 作者:IT王子 更新时间:2023-10-29 03:07:39 25 4
gpt4 key购买 nike

我使用

加载一些二进制数据
$http.post(url, data, { responseType: "arraybuffer" }).success(
function (data) { /* */ });

如果出现错误,服务器会返回一个错误的 JSON 对象,例如

{ "message" : "something went wrong!" }

有什么方法可以得到不同于成功响应类型的错误响应?

$http.post(url, data, { responseType: "arraybuffer" })
.success(function (data) { /* */ })
.error(function (data) { /* how to access data.message ??? */ })

最佳答案

编辑:正如@Paul LeBeau 指出的那样,我的回答假设响应是 ASCII 编码的。

基本上您只需要将 ArrayBuffer 解码为字符串并使用 JSON.parse()。

var decodedString = String.fromCharCode.apply(null, new Uint8Array(data));
var obj = JSON.parse(decodedString);
var message = obj['message'];

我在 IE11 和 Chrome 中运行了测试,一切正常。

关于javascript - 如果 responseType 是 arraybuffer,如何从 $http 读取 JSON 错误响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30052567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com