From 3d503cc4d6ed234fc20656d20718ad74ab6ec167 Mon Sep 17 00:00:00 2001 From: Allan Kildare <50001206+allankildare@users.noreply.github.com> Date: Sun, 19 Dec 2021 21:23:49 -0300 Subject: update fetch page brazilian portuguese (#3334) * chore: convert to md and translate until credentials * feat: finish Portuguese translation --- files/pt-br/web/api/fetch/index.html | 306 ------------------------------- files/pt-br/web/api/fetch/index.md | 341 +++++++++++++++++++++++++++++++++++ 2 files changed, 341 insertions(+), 306 deletions(-) delete mode 100644 files/pt-br/web/api/fetch/index.html create mode 100644 files/pt-br/web/api/fetch/index.md (limited to 'files/pt-br') diff --git a/files/pt-br/web/api/fetch/index.html b/files/pt-br/web/api/fetch/index.html deleted file mode 100644 index f864600c86..0000000000 --- a/files/pt-br/web/api/fetch/index.html +++ /dev/null @@ -1,306 +0,0 @@ ---- -title: WindowOrWorkerGlobalScope.fetch() -slug: Web/API/fetch -translation_of: Web/API/WindowOrWorkerGlobalScope/fetch -original_slug: Web/API/WindowOrWorkerGlobalScope/fetch ---- -
O método fetch()
do mixin {{domxref("WindowOrWorkerGlobalScope")}} inicia um processo de busca de um recurso da rede. Este, retorna uma promessa que resolve o objeto {{domxref("Response")}} que representa a resposta a sua requisição.
WorkerOrGlobalScope
é implementado por {{domxref("Window")}} e {{domxref("WorkerGlobalScope")}}, o que significa que o método fetch()
está disponível em praticamente qualquer contexto em que você possa querer obter recursos.
Uma promessa {{domxref("WindowOrWorkerGlobalScope.fetch","fetch()")}} rejeita com um {{jsxref("TypeError")}} quando um erro de rede é encontrado, embora isso geralmente signifique um problema de permissões ou similar. Uma verificação precisa de um fetch()
bem-sucedido incluiria a verificação de uma promessa resolvida, e depois verificando se a propriedade {{domxref("Response.ok")}} possui valor true
. Um status HTTP 404 não constitui um erro de rede.
O método fetch()
é controlado pela diretiva connect-src
da Content Security Policy em vez da diretiva dos recursos que está recuperando.
Nota: Os parâmetros do método fetch()
são idênticos aos do construtor {{domxref("Request.Request","Request()")}}.
Promise<Response> fetch(input[, init]);- -
blob:
e data:
como esquemas.method
: Método HTTP, por exemplo, GET
, POST
.headers
: Qualquer cabeçalho que você queira adicionar à sua requisição, contido dentro de um objeto {{domxref("Headers")}} ou um objeto literal com valores {{domxref("ByteString")}}.body
: Qualquer corpo que você queira adicionar à sua requisição: podendo ser um {{domxref("Blob")}}, {{domxref("BufferSource")}}, {{domxref("FormData")}}, {{domxref("URLSearchParams")}}, ou um objeto {{domxref("USVString")}}. Note que uma requisição usando os métodos GET
ou HEAD
não pode ter um corpo.mode
: O modo que deseja usar para a requisição, por exemplo, cors
, no-cors
, ou same-origin.
credentials
: A credencial que deseja usar para a requisição: omit
, same-origin
, ou include
. Para enviar automaticamente cookies para o domínio atual, esta opção deve ser fornecida. Começando com o Chrome 50, essa propriedade também usa uma instância {{domxref("FederatedCredential")}} ou uma instância {{domxref("PasswordCredential")}}.cache
: O modo de cache que deseja usar na requisição: default
, no-store
, reload
, no-cache
, force-cache
, ou only-if-cached
.redirect
: O modo de redirecionamento pode usar: follow
(segue automaticamente o redirecionamento), error
(aborta com um erro se ocorrer um redirecionamento), ou manual
(manipula redirecionamentos manualmente). No Chrome o padrão foi follow
antes do Chrome 47 e manual
a partir do Chrome 47.referrer
: Um {{domxref("USVString")}} especificando no-referrer
, client
, ou uma URL. O padrão é client
.referrerPolicy
: Especifica o valor do cabeçalho HTTP referer. Pode ser um destes: no-referrer
, no-referrer-when-downgrade
, origin
, origin-when-cross-origin
, unsafe-url
.integrity
: Contém o valor de integridade de subrecurso da requisição (por exemplo, sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=
).signal
: Uma instância do objeto {{domxref("FetchSignal")}}; permite que você se comunique com um pedido de busca e controle-o através de um {{domxref("FetchController")}}. {{non-standard_inline}}observe
: Um objeto {{domxref("ObserverCallback")}} — o objetivo exclusivo deste objeto é fornecer uma função de retorno de chamada que é executada quando a solicitação fetch é executada. Isto retorna um objeto {{domxref("FetchObserver")}} que pode ser usado para recuperar informações sobre o status de uma solicitação fetch. {{non-standard_inline}}Uma {{domxref("Promise")}} que resolve um objeto {{domxref("Response")}}.
- -Tipo | -Descrição | -
---|---|
TypeError |
- Desdo o Firefox 43, fetch() - lançará um TypeError se a URL tiver credenciais, como http://user:password@example.com . |
-
In our Fetch Request example (see Fetch Request live) we create a new {{domxref("Request")}} object using the relevant constructor, then fetch it using a fetch()
call. Since we are fetching an image, we run {{domxref("Body.blob()")}} on the response to give it the proper MIME type so it will be handled properly, then create an Object URL of it and display it in an {{htmlelement("img")}} element.
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; -});- -
In our Fetch with init then Request example (see Fetch Request init live) we do the same thing except that we pass in an init object when we invoke 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'); - -fetch(myRequest,myInit).then(function(response) { - ... -});- -
Note that you could also pass the init object in with the Request
constructor to get the same effect, e.g.:
var myRequest = new Request('flowers.jpg', myInit);- -
You can also use an object literal as headers
in init
.
var myInit = { method: 'GET', - headers: { - 'Content-Type': 'image/jpeg' - }, - mode: 'cors', - cache: 'default' }; - -var myRequest = new Request('flowers.jpg', myInit); -- -
Specification | -Status | -Comment | -
---|---|---|
{{SpecName('Fetch','#fetch-method','fetch()')}} | -{{Spec2('Fetch')}} | -Defined in a WindowOrWorkerGlobalScope partial in the newest spec. |
-
{{SpecName('Fetch','#dom-global-fetch','fetch()')}} | -{{Spec2('Fetch')}} | -Initial definition | -
{{SpecName('Credential Management')}} | -{{Spec2('Credential Management')}} | -Adds {{domxref("FederatedCredential")}} or {{domxref("PasswordCredential")}} instance as a possible value for init.credentials . |
-
{{CompatibilityTable}}
- -Feature | -Chrome | -Edge | -Firefox (Gecko) | -Internet Explorer | -Opera | -Safari (WebKit) | -
---|---|---|---|---|---|---|
Basic support | -{{CompatChrome(42)}} | -14 | -{{CompatGeckoDesktop(34)}}[1] - {{CompatGeckoDesktop(39)}} - {{CompatGeckoDesktop(52)}}[2] |
- {{CompatNo}} | -29 - 28[1] |
- {{CompatNo}} | -
Streaming response body | -{{CompatChrome(43)}} | -14 | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -
Support for blob: and data: |
- {{CompatChrome(48)}} | -{{CompatNo}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -
referrerPolicy |
- {{CompatChrome(52)}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -39 | -{{CompatUnknown}} | -
signal and observer |
- {{ CompatNo }} | -{{ CompatNo }} | -{{ CompatNo }}[3] | -{{ CompatNo }} | -{{ CompatNo }} | -{{ CompatNo }} | -
Feature | -Android | -Android Webview | -Edge | -Firefox Mobile (Gecko) | -IE Phone | -Opera Mobile | -Safari Mobile | -Chrome for Android | -
---|---|---|---|---|---|---|---|---|
Basic support | -{{CompatNo}} | -{{CompatChrome(42)}} | -14 | -{{CompatGeckoMobile(52)}}[2] | -{{CompatNo}} | -{{CompatNo}} | -{{CompatNo}} | -{{CompatChrome(42)}} | -
Streaming response body | -{{CompatNo}} | -{{CompatChrome(43)}} | -14 | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatChrome(43)}} | -
Support for blob: and data: |
- {{CompatNo}} | -{{CompatChrome(43)}} | -{{CompatNo}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatChrome(43)}} | -
referrerPolicy |
- {{CompatNo}} | -{{CompatChrome(52)}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -{{CompatUnknown}} | -39 | -{{CompatUnknown}} | -{{CompatChrome(52)}} | -
signal and observer |
- {{ CompatNo }} | -{{ CompatNo }} | -{{ CompatNo }} | -{{ CompatNo }}[3] | -{{ CompatNo }} | -{{ CompatNo }} | -{{ CompatNo }} | -{{ CompatNo }} | -
[1] API is implemented behind a preference.
- -[2] fetch()
now defined on {{domxref("WindowOrWorkerGlobalScope")}} mixin.
[3] Hidden behind a preference in 55+ Nightly. In about:config, you need to create two new boolean prefs — dom.fetchObserver.enabled
and dom.fetchController.enabled
— and set the values of both to true
.
Motivo | +Exemplos de falha | +
---|---|
Nome do cabeçalho inválido | +
+ +// space in "C ontent-Type" +const headers = { + "C ontent-Type": "text/xml", + "Breaking-Bad": "<3" +}; +fetch('https://example.com/', { headers }); ++ |
+
+ Valor do cabeçalho inválido. O objeto header deve conter exatamente dois elementos. + | +
+ +const headers = [ + ["Content-Type", "text/html", "extra"], + ["Accept"], +]; +fetch('https://example.com/', { headers }); ++ |
+
+ URL inválida ou esquema, ou está usando um esquema que fetch não suporta, ou está usando um esquema que não é suportado por um modo de requisição específico. + | +
+ +fetch('blob://example.com/', { mode: 'cors' }) ++ |
+ URL que inclui credenciais | +
+ +fetch('https://user:password@example.com/') ++ |
+
URL de referência inválida | +
+ +fetch('https://example.com/', { + referrer: './abc\u0000df' +}) ++ |
+
Modos inválidos (navigate and websocket ) |
+
+ +fetch('https://example.com/', { mode: 'navigate' }) ++ |
+
+ Se o modo de cache da requisição é "only-if-cached" e o modo da requisição é diferente de "same-origin". + | +
+ +fetch('https://example.com/', { + cache: 'only-if-cached', + mode: 'no-cors' +}) ++ |
+
+ Se o método da requisição for um token de nome inválido ou um dos cabeçalhos proibidos: + CONNECT, TRACE or TRACK + | +
+ +fetch('https://example.com/', { method: 'CONNECT' }) ++ |
+
+ Se o modo da requisição é "no-cors" e o método da requisição não é um método CORS-safe-listed (GET, HEAD ou POST) + | +
+ +fetch('https://example.com/', { + method: 'CONNECT', + mode: 'no-cors' +}) ++ |
+
+ Se o método da requisição é GET ou HEAD e o corpo não for nulo(null) ou undefined. + | +
+ +fetch('https://example.com/', { + method: 'GET', + body: new FormData() +}) ++ |
+
Se fetch gera um erro de rede. | ++ |