Tradução em progresso.

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 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 será removido.
    • Se esse objeto tiver um Request.mode 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 ou em um objeto literal com valores de ByteString.
  • body: Qualquer corpo que você deseja adicionar à sua solicitação: isso pode ser um Blob, BufferSource, FormData, URLSearchParams, USVString, ou objeto ReadableStream. 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 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. Como estamos buscando uma imagem, executamos o 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 <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() .)

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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic support
Experimental
Chrome Full support 42
Full support 42
Full support 41
Notes
Notes Some default values for the init parameter changed in Chrome 47. See the Properties section for details.
Edge Full support 15Firefox Full support 39
Full support 39
Full support 34
Disabled
Disabled From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 29
Full support 29
Full support 28
Disabled
Disabled From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Full support 10.1WebView Android Full support 42
Full support 42
Full support 41
Notes
Notes Some default values for the init parameter changed in Chrome 47. See the Properties section for details.
Chrome Android Full support 42
Full support 42
Full support 41
Notes
Notes Some default values for the init parameter changed in Chrome 47. See the Properties section for details.
Edge Mobile Full support YesFirefox Android Full support YesOpera Android No support NoSafari iOS Full support 10.3Samsung Internet Android Full support 4.0
Full support 4.0
Full support 5.0
Notes
Notes Some default values for the init parameter changed in Samsung Internet 5.0. See the Properties section for details.
Consume response body as a ReadableStream
Experimental
Chrome Full support 43Edge ? Firefox Full support 65
Full support 65
Full support 57
Disabled
Disabled From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE ? Opera ? Safari No support NoWebView Android Full support 43Chrome Android Full support 43Edge Mobile ? Firefox Android Full support 65
Full support 65
Full support 57
Disabled
Disabled From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android ? Safari iOS Full support 10.3Samsung Internet Android Full support 4.0
Send ReadableStream in request body
Experimental
Chrome No support NoEdge ? Firefox No support NoIE ? Opera ? Safari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile ? Firefox Android No support NoOpera Android ? Safari iOS No support NoSamsung Internet Android No support No
navigate mode
Experimental
Chrome Full support 49Edge Full support 15Firefox Full support 46IE No support NoOpera Full support YesSafari Full support 10.1WebView Android No support NoChrome Android Full support 49Edge Mobile Full support 15Firefox Android Full support YesOpera Android No support NoSafari iOS Full support 10.3Samsung Internet Android Full support 5.0
referrer init option
Experimental
Chrome ? Edge Full support 15Firefox Full support 47IE No support NoOpera Full support YesSafari Full support 10.1WebView Android Full support YesChrome Android Full support YesEdge Mobile ? Firefox Android Full support YesOpera Android ? Safari iOS Full support 10.3Samsung Internet Android Full support Yes
cross-origin referrer stripped out and navigate mode converted to same-origin when constructor created from existing Request object.
Experimental
Chrome Full support YesEdge Full support 15Firefox Full support 54IE No support NoOpera Full support YesSafari Full support 10.1WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support 15Firefox Android Full support YesOpera Android ? Safari iOS Full support 10.3Samsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

Veja também

Etiquetas do documento e colaboradores

Colaboradores desta página: mdnwebdocs-bot, duduindo, fininhors
Última atualização por: mdnwebdocs-bot,