Promise based HTTP client for the browser (based on XMLHttpRequest)
Note this library is frequently change some features may be add or not working Or changed or removed
-
Make XMLHttpRequests from the browser
-
Supports the Promise API
-
Intercept request and response
-
Transform request and response data
-
Automatic transforms for JSON data
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
Using jsDelivr CDN:
<p>CDN is coming soon Grab your reqto.js file from dist/reqTo.js</p>
npm install --save request-to
Performing a GET
request
// Make a request for a user with a given ID
reqTo
.get("/user?ID=12345")
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
// Want to use async/await? Add the `async` keyword to your outer function/method.
async function getUser() {
try {
const response = await reqTo.get("/user?ID=12345");
console.log(response);
} catch (error) {
console.error(error);
}
}
NOTE:
async/await
is part of ECMAScript 2017 and is not supported in Internet Explorer and older browsers, so use with caution.
Performing a POST
request
reqTo
.post("/user", {
firstName: "Fred",
lastName: "Flintstone",
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
The response for a request contains the following information.
{
// `data` is the response that was provided by the server
data: {},
// `headers` the HTTP headers that the server responded with
// Example: `response.headers['content-type']`
headers: {},
}
When using then
, you will receive the response as follows:
reqTo.get("/user/12345").then(function (response) {
console.log(response.data);
console.log(response.status);
console.log(response.statusText);
console.log(response.headers);
console.log(response.config);
});
When using catch
, or passing a rejection callback as second parameter of then
, the response will be available through the error
object as explained in the Handling Errors section.
//in project folder resources/js/bootstrap.js
import reqto from 'request-to';
window.reqto = reqto;
let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
window.reqto.defaultHeaders['X-CSRF-TOKEN'] = token.content;
} else {
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}
reqTo is heavily inspired by the axios.