0.1.6 • Published 8 years ago

client-ajax v0.1.6

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

client-ajax


npm

Install

npm i client-ajax --save
<script type="text/javascript" src="/ajax.js"></script>

Usage

var ajax = require('client-ajax') 
// var ajax = require('client-ajax').setDefault()

var data = {a: "a", b: {b: "b"}, c: ["c"]}

// $.ajax
ajax({
	url: "",
	method: "POST",
 	data: data,
 	before: function () {},
 	success: function (body) {
 		console.log(body)
 	},
 	error: function (err) {
 		console.error(err)
 	},
 	complete: function () {}
})

// Promise
ajax({
	url: "",
	method: "POST",
	data: data
}).then(function (body) {
	console.log(body)
}, function (err) {
	console.error(err)
})

// callback
ajax({
	url: "",
	method: "POST",
	data: data
}, function (err, body) {
	if (err) return console.error(err)
 	console.log(body)
})

// request payload
ajax({
	url: "",
	method: "POST",
	data: data,
	format: "json"
}).then(function (body) {
	console.log(body)
}, function (err) {
	console.log(err)
})

// request timeout
ajax({
	url: "",
	method: "POST",
	data: data,
	timeout: 3000
}).then(function (body) {
	console.log(body)
}, function (err) {
	console.log(err)
})

// return response
ajax({
	url: "",
	method: "POST",
	data: data,
	origin: true
}).then(function (resp) {
	console.log(resp)
}, function (err) {
	console.log(err)
})

// return html
ajax({
	url: "",
	type: "text"
}).then(function (body) {
	console.log(body)
}, function (err) {
	console.log(err)
})

// url template
ajax({url: "/:id", id: 1}) // /1
ajax({url: "/{id}", id: 1}) // /1

// querystring
ajax({url: "", data: data}) // ?a=a&b[b]=b&c[]=c

// set default options
ajax.setDefault({
	format: "json", // set default format
	body: true, // set default body returned
	timeout: 3000 // set default timeout
})

// set error interceptor
ajax.setErrorInterceptor(function (err) {
	console.error(err)
})

// simple
ajax.get("", data, function (err, body){})
ajax.post("", data).then(function (body) {}, function (err) {})

API

options

keydescriptiontypeoptional valuesdefault value
urlrequest urlstring""
methodrequest methodstring"GET","POST","PUT","HEAD","DELETE","PATCH""GET"
asyncis asyncbooleantrue,falsetrue
datarequest dataobject{}
formatdata formatstring"form","json","formdata""form"
timeoutrequest timeoutnumber
originreturn responsebooleantrue, falsefalse
typeresponse typestring"","arraybuffer","blob","document","json","text""json"
headersrequest headersobject{}
beforebefore sendfunctionnoop
successrequest succeedfunctionnoop
errormake mistakesfunctionnoop
completerequest completefunctionnoop

Notice

The package should be used in broswer.

You can use it with broswerify or webpack, or simply copy source code with script tag to your project

If you can't make sure that Promise is supported in broswer, please use callback instead of Promise

License

client-ajax is released under the MIT license.

Change Log

0.1.1 - initial

0.1.4 - add options.timeout

0.1.5 - default return body, replace options.body with options.origin

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago