Отделение тела HTTP-ответа от заголовка в JavaScript

Я создаю приложение с AngularJS и Cloudant, и когда я включаю новый документ, обратный вызов включает номер ответа в ответ, но все это в большую строку, например:

HTTP/1.1 201 Created
X-Frame-Options: DENY
X-Couch-Request-ID: cf04aa4a96
Server: CouchDB/2.1.1 (Erlang OTP/17)
Location: https://xxx.cloudant.com/xxx/xxx/1e829630-cdb6-463a-8c25-9cc140ff8ab0
Date: Wed, 04 Apr 2018 14:15:59 GMT
Content-Type: application/json
Content-Length: 99
Cache-Control: must-revalidate
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Cloudant-Request-Class: write
X-Cloudant-Backend: bm-cc-uk-04
Via: 1.1 lb1.bm-cc-uk-04 (Glum/1.50.4)

{"ok":true,"id":"1e829630-cdb6-463a-8c25-9cc140ff8ab0","rev":"1-05a055a4f2e4baf71b46a14386eb7fab"}

Как я могу извлечь rev из этой строки и сохранить его в переменной?

Я пробовал это, но это не работает, потому что ответом является строка, содержащая объект …

$promisedb.then(function (datawop) {
$scope.rev = datawop.data.rev;
}

1

Решение

Заголовки HTTP завершаются последовательностью \r\n\r\n (пустая строка).

$promisedb.then(function (response) {
var splitArray = response.data.split("\r\n\r\n");
var headers = splitArray[0];
var body = splitArray[1];
var data = JSON.parse(body);
$scope.rev = data.rev;
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector