- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我使用
加载一些二进制数据$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/
我已经使用响应类型设置为“arraybuffer”的同步 XMLHttpRequest 来加载二进制文件并等待它加载已经有一段时间了。今天,我收到这个错误:“XMLHttpRequest 的响应类型属
我尝试从 api 下载图像(png)。我的问题是,由于某种原因,ionic/angular 只接受 json 文件。 return this.http.get(this.authKeys.server
我无法在 Angular 5 中发出接受 text/plain 作为响应的 POST 请求。 Angular 正在调用一个方法,该方法期望 JSON 作为响应,因此在尝试解析响应时出现响应时会抛出错误
我正在尝试编辑 Axios 的一个实例,以便响应类型应该是 'stream'而不是标准的 JSON。 从 S.O. 的其他帖子中,我似乎并不清楚。如何做到这一点。 这是死路一条?? 我当前的 Axio
我有一个 Angular 1.x 应用程序,它希望使用 $http.post() 接收二进制文件下载 (pdf)称呼。问题是,我想或者获得作为 json 发送的处理错误消息。我可以用配置做到这一点 h
我正在做一个项目,我有一个带有 Get(int id) 的基本 Controller , GetElements() , UpdateElement(int id, Element element)
我有一个带有 CRUD 操作的通用 WebApi Controller ,如下所示: public abstract class BaseController : ApiController wher
调用仅返回单个整数的 Web API REST 服务的“正确”方法是什么? 我在这里对 XML、JSON 或任何其他方面没有要求。对服务的调用只需要返回一个整数。 我在这里使用 ResponseTyp
为什么 responseType 是空的? JavaScript var xhr = new XMLHttpRequest(); xhr.open(method,url,true); xhr.onre
XHR的responseType='document'非常棒,因为它为您提供了一个 DOM 文档,您可以在该文档上使用 querySelector 等: var xhr = new XMLHttpRe
场景:在从 Angular7 进行 API 调用时,我正在调用 Node(通过 Express)并返回字符串类型的分块数据 - 我想捕获此字符串数据并将其显示为字符串 服务器端:从 Node 后端发送
我正在尝试将 a 从客户端流式传输到服务器端,以便稍后将视频返回流式传输到另一个客户端。 重点是: 如何从客户端 JavaScript 获取视频 block (可以发送到服务器)? 使用这段代码,例如
当我在 Visual Studio 中处理 Web 应用程序时,我的计算机意外崩溃了。结果我的 csproj 完全损坏,所以我不得不开始一个新的 Web 项目并重新添加旧项目中的所有文件和程序集。 但
考虑以下示例: [ActionName("SomeTestAction")] [ResponseType(typeof(SomeObject))] public IHttpActionResult S
我想知道浏览器是否支持XMLHttpRequest.responseType = "arraybuffer"。问题是,我无法再次测试某些“通用”xhr2 支持,因为 iOS 4.2 具有部分 xhr2
我的其余 Controller 类中有以下方法 @DeleteMapping("/delete/{id}") public ResponseEntity deleteMovieById(@PathVa
运行new XMLHttpRequest().responseType = "json"在控制台中会在 Firefox 26 和 IE11 中引发“InvalidStateError”异常,但在 Ch
在为即将进行的项目创建一个简单、可共享的 XHR 实现时,我突然想到了一个问题。 将 responseType 属性指定为 json 而不是 Content-Type header 有什么区别?如果我
使用 Google Chrome,假设我使用 ajax 将文件下载为 blob,如下所示: var xhr = new XMLHttpRequest(); xhr.open('GET', 'some/
我在尝试获取作为预约所需参加者的房间的 ResponseType 时遇到问题。我可以确认我的 exchange 2010 sp2 ru4 服务器立即批准或拒绝 session ,但是当我以编程方式使用
我是一名优秀的程序员,十分优秀!