reqTo
Promise based HTTP client for the browser (based on XMLHttpRequest)
Note get put post delete this features are working fine
Note this library is frequently change some features may be add or not working Or changed or removed
Features
-
Make XMLHttpRequests from the browser
- Supports the Promise API
- Intercept request and response
- Transform request and response data
- Automatic transforms for JSON data
Browser Support
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
Using jsDelivr CDN:
<p>CDN is coming soon Grab your reqto.js file from dist/reqTo.js</p>
Or
npm install --save request-to
Example
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);
});
Response Schema
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.
Working With Laravel
//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');
}
Credits
reqTo is heavily inspired by the axios.