Request.clone()

The clone() method of the Request interface creates a copy of the current Request object.

clone() throws a TypeError if the request body has already been used. In fact, the main reason clone() exists is to allow multiple uses of body objects (when they are one-use only.)

If intend to modify the request, you may prefer the Request constructor.

Syntax

var newRequest = request.clone();

Parameters

None.

Return value

A Request object, which is an exact copy of the Request that clone() was called on.

Example

In the following snippet, we create a new request using the Request.Request() constructor (for an image file in the same directory as the script), then clone the request.

var myRequest = new Request('flowers.jpg');
var newRequest = myRequest.clone(); // a copy of the request is now stored in newRequest

Specifications

Specification
Fetch Standard (Fetch)
# ref-for-dom-request-clone①

Browser compatibility

BCD tables only load in the browser

See also