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.


var newRequest = request.clone();



Return value

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


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


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

Browser compatibility

BCD tables only load in the browser

See also