Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Объект ответа Response
Функция fetch()
возвращает объект Promise
, содержащий в себе объект ответа Response
. В случае необходимости можно создать объект Response
вручную с помощью следующего конструктора:
<Объект> = new Response([<body>[, <Объект с опциями>]])
Все параметры являются необязательными. В первом параметре можно задать тело ответа в виде строки или объектов FormData
, URLSearchParams
, Blob
, BufferSource
, ReadableStream
. Во втором параметре указывается объект со следующими свойствами:
status
— код статуса ответа, например,200
;statusText
— статус ответа в виде строки, например,OK
;headers
— заголовки ответа сервера в виде простого объекта или объектаHeaders
.
Пример:
let params = new URLSearchParams('x=5&y=3');
let myResponse = new Response(params, {
'status': 404,
'statusText': 'Not Found'
});
console.log(myResponse.status); // 404
console.log(myResponse.statusText); // Not Found
myResponse.text().then( function(v) {
console.log(v); // x=5&y=3
});
Объект Response
содержит следующие свойства (доступны только для чтения):
status
— код статуса ответа, например,200
;statusText
— статус ответа в виде строки, например,OK
;ok
— содержит значениеtrue
, если код статуса ответа в пределах от200
до299
, иfalse
— в противном случае;headers
— заголовки ответа сервера в виде объектаHeaders
;redirected
— содержит значениеtrue
, если выполнялись перенаправления, иfalse
— в противном случае;url
— URL-адрес ресурса, с которого был получен ответ;type
— тип ответа:basic
(обычный),cors
(при выполнении кроссдоменного запроса),error
(при ошибке),opaque
(выполнение кроссдоменного запроса при опцииmode
равной"no-cors"
) илиopaqueredirect
(перенаправление при опцииredirect
равной"manual"
);bodyUsed
— содержит значениеtrue
, если содержимое свойстваbody
было уже прочитано, иfalse
— в противном случае. Следует учитывать, что содержимое свойстваbody
можно прочитать только один раз. Попытка повторного прочтения приведет к исключениюTypeError
.
Объект Response
содержит следующие методы:
clone()
— создает копию объекта. Если содержимое свойстваbody
было уже прочитано (свойствоbodyUsed
имеет значениеtrue
), то будет сгенерировано исключениеTypeError
. Поэтому, если хотите прочитать ответ в разных форматах, то предварительно нужно создать копию объекта;text()
— возвращает объектPromise
содержащий значение свойстваbody
в виде простого текста:
let params = new URLSearchParams('x=5&y=3');
let myResponse = new Response(params);
myResponse.text().then( function(v) {
console.log(v); // x=5&y=3
});
formData()
— возвращает объектPromise
содержащий значение свойстваbody
в виде объектаFormData
. При ошибке генерируется исключениеTypeError
. Пример:
let formData = new FormData();
formData.append('txt1', '1');
formData.append('txt2', '2');
let myResponse = new Response(formData);
myResponse.formData().then( function(v) {
for ( let [key, value] of v ) {
console.log( key + ' => ' + value );
}
});
// txt1 => 1
// txt2 => 2
json()
— возвращает объектPromise
содержащий значение свойстваbody
в виде объекта JSON. При ошибке генерируется исключениеSyntaxError
. Пример:
let myResponse = new Response('{"txt1":"1","txt2":"2"}');
myResponse.json().then( function(json) {
console.log( json.txt1 ); // 1
console.log( json.txt2 ); // 2
});
blob()
— возвращает объектPromise
содержащий значение свойстваbody
в виде объектаBlob
. Загрузим изображение с сервера, вернем его в виде объектаBlob
, а затем получим его адрес в памяти с помощью статического методаcreateObjectURL()
из классаURL
и присвоим адрес параметруsrc
тега<img>
с идентификаторомimg1
:
<img src="/img/photo.jpg" alt="" id="img1">
fetch('/img/img_w200h200.jpg')
.then( function(response) {
return response.blob();
})
.then( function(blob) {
let url = URL.createObjectURL(blob);
document.getElementById('img1').src = url;
});
arrayBuffer()
— возвращает объектPromise
содержащий значение свойстваbody
в виде объектаArrayBuffer
.
body
можно прочитать только один раз. Попытка повторного прочтения приведет к исключению TypeError
. Если хотите прочитать ответ в разных форматах, то предварительно нужно создать копию объекта.Реквизиты
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов