RESTInTag
A JavaScript plugin to ease the HTTP requests by making them work directly from the HTML tags.
it was inspired by RestfulizerJs by Ifnot but with a different implementation.
Install
Simple Download
after downloading include them in your html file like this
<script src="path/to/js/restintag.vanilla.js"></script>
NPM
Install via this command
npm install --save restintag
then in your main javascript file do the following
var restintag = require("restintag").vanilla;
restintag(".test", {}, function(data) {
console.log(data);
});
var jquery = require("jquery");
window.$ = window.jQuery = jquery;
var restintag = require("restintag").jquery;
jquery.fn.restintag = restintag;
$(".test").restintag({}, function(data) {
console.log(data);
});
Usage
easy! just add the following attributes to your HTML tag:
data-method
: the request type, GET, POST, PUT, etc.data-target
: the url to send/get the datadata-disabled
: true
to disable the tag until the request is done else just put false
data-once
: true
to disable the tag entirely after the first request, default is false
example:
<button data-target="http://example.com/post/post-id/" data-method="DELETE" data-disabled="true">Delete Article</button>
or you can use the javascript apis, note the data attributes have the priority.
API
Options
First you need to set your options, here's the available options (the seen values are the default):
{
async: true,
parse: false,
target: null,
method: "GET",
headers: {},
timeout: 0,
data: {},
disable: true,
once: false
}
Vanilla
The zero dependency version, just add it to any project you have and it will work
restintag(selector: String, options: Object, successCallback: Function, errorCallback: Function): void
jQuery
after adding jQuery use the restintag()
function to do the magic
$(".selector").restintag(options: Object, successCallback: Function, errorCallback: Function): jQuery
Browser Support
Both jQuery version and Vanilla version support the following browsers:
- Chrome (Latest)
- FireFox (Latest)
- Edge (Latest)
- IE (9+)
- Opera (Latest)
- Safari (Latest)
- Vivaldi (Latest)
- Epiphany (Latest)
Contributors
List of people who contributed to this project, thank you people:
License
This project is under the MIT license.