--- title: Request() slug: Web/API/Request/Request translation_of: Web/API/Request/Request ---
{{APIRef("Fetch")}}

O construtor Request() cria um novo objeto {{domxref("Request")}}.

Sintaxe

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

Parâmetros

input
Define o recurso que você deseja buscar. Isso pode ser:
init {{optional_inline}}
Um objeto de opções contendo quaisquer configurações personalizadas que você deseja aplicar à solicitação. As opções possíveis são:

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 {{domxref("GlobalFetch.fetch")}}. Como estamos buscando uma imagem, executamos o {{domxref("Body.blob")}} 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 {{htmlelement("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 {{domxref ("Request")}} para o construtor Request() para criar uma cópia do Request (isso é semelhante a chamar o método {{domxref("Request.clone", "clone()")}} .)

var copy = new Request(myRequest);

Nota: Este último uso é provavelmente útil apenas em ServiceWorkers.

Especificações

Especificação Status Comentário
{{SpecName('Fetch','#dom-request','Request()')}} {{Spec2('Fetch')}}  

Compatibilidade com navegadores

{{Compat("api.Request.Request")}}

Veja também