Request()

O construtor Request() cria um novo objeto Request.

Sintaxe

var myRequest = new Request(input[, init]);

Par√Ęmetros

input
Define o recurso que você deseja buscar. Isso pode ser:
  • Um USVString (en-US) contendo o URL direto do recurso que voc√™ deseja buscar.
  • Um objeto Request, criando efetivamente uma c√≥pia. Observe as seguintes atualiza√ß√Ķes comportamentais para reter a seguran√ßa e, ao mesmo tempo, tornar o construtor menos propenso a gerar exce√ß√Ķes:
    • Se esse objeto existir em outra origem para a chamada do construtor, o Request.referrer (en-US) ser√° removido.
    • Se esse objeto tiver um Request.mode (en-US) de navega√ß√£o, o valor do modo ser√° convertido para a mesma origem.
init Optional
Um objeto de op√ß√Ķes contendo quaisquer configura√ß√Ķes personalizadas que voc√™ deseja aplicar √† solicita√ß√£o. As op√ß√Ķes poss√≠veis s√£o:
  • method: O m√©todo de request, ex: GET, POST.
  • headers: Quaisquer cabe√ßalhos que voc√™ deseja adicionar √† sua solicita√ß√£o, contidos em um objeto Headers (en-US) ou em um objeto literal com valores de ByteString (en-US).
  • body: Qualquer corpo que voc√™ deseja adicionar √† sua solicita√ß√£o: isso pode ser um Blob, BufferSource (en-US), FormData, URLSearchParams, USVString (en-US), ou objeto ReadableStream (en-US). Observe que uma solicita√ß√£o usando o m√©todo GET ou HEAD n√£o pode ter um corpo.
  • mode: O modo que voc√™ deseja usar para a solicita√ß√£o, por exemplo: cors, no-cors, same-origin, or navigate. O padr√£o √© cors. No Chrome o padr√£o √© no-cors antes do Chrome 47 e same-origin do Chrome 47 em diante.
  • credentials: As credenciais de solicita√ß√£o que voc√™ deseja usar para a solicita√ß√£o: omit, same-origin, ou include. O padr√£o √© omit. No Chrome o padr√£o √© same-origin antes do Chrome 47 e include do Chrome 47 em diante.
  • cache: O cache mode  que voc√™ deseja usar para a solicita√ß√£o.
  • redirect: O modo de redirecionamento para usar: follow, error, or manual. No Chrome o padr√£o √© follow (antes do Chrome 47 foi padronizado manual).
  • referrer: Um USVString (en-US) especificando no-referrer, client, ou uma URL. O padr√£o √© client.
  • integrity: Cont√©m o valor de integridade do sub-recurso da solicita√ß√£o (exemplo: sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=).

Erros

Tipo Descrição
TypeError Desde Firefox 43, Request() lançará um TypeError se o URL tiver credenciais, tal como http://user:password@example.com.

Exemplo

Em nosso exemplo Fetch Request (veja Fetch Request live) nós criamos um novo objeto Request usando o construtor, em seguida, busque-o usando uma chamada GlobalFetch.fetch (en-US). Como estamos buscando uma imagem, executamos o Body.blob (en-US) na resposta para fornecer o tipo MIME adequado para que ela seja manipulada corretamente. Em seguida, criamos uma URL do objeto e a exibimos em um Elemento <img>.

var myImage = document.querySelector('img');

var myRequest = new Request('flowers.jpg');

fetch(myRequest).then(function(response) {
  return response.blob();
}).then(function(response) {
  var objectURL = URL.createObjectURL(response);
  myImage.src = objectURL;
});

Em nosso Fetch Request with init example (veja Fetch Request init live) nós fazemos a mesma coisa, exceto que passamos em um objeto init quando invocamos fetch():

var myImage = document.querySelector('img');

var myHeaders = new Headers();
myHeaders.append('Content-Type', 'image/jpeg');

var myInit = { method: 'GET',
               headers: myHeaders,
               mode: 'cors',
               cache: 'default' };

var myRequest = new Request('flowers.jpg',myInit);

fetch(myRequest).then(function(response) {
  ...
});

Observe que você também pode passar o objeto init para a chamada fetch para obter o mesmo efeito, por exemplo:

fetch(myRequest,myInit).then(function(response) {
  ...
});

Você também pode usar um literal de objeto como headers em init.

var myInit = { method: 'GET',
               headers: {
                   'Content-Type': 'image/jpeg'
               },
               mode: 'cors',
               cache: 'default' };

var myRequest = new Request('flowers.jpg', myInit);

Você também pode passar um objeto Request para o construtor Request() para criar uma cópia do Request (isso é semelhante a chamar o método clone() (en-US) .)

var copy = new Request(myRequest);

Nota: Este √ļltimo uso √© provavelmente √ļtil apenas em ServiceWorkers.

Especifica√ß√Ķes

Especificação Status Comentário
Fetch
The definition of 'Request()' in that specification.
Padr√£o em tempo real  

Compatibilidade de Browser

BCD tables only load in the browser

Veja também