A lightweight Ajax framework based on ES6 Promise
, support for template rendering.
npm install lightings
lightings
|---src
| |---lightings.js (es6 source)
| |---promise.js (low browser support Promise)
|
|---dist
|---lightings.js (use bable compiler source code es5)
|---lightings.min.js
tip:If your browser supports ES6 syntax can be directly used in the src directory of the ES6 source code.
tip:Examples of uniform use of JSON data:
{
"name": "Lightings",
"author": {
"firstName": "Jay",
"lastName": "Zangwill"
}
}
Performing a GET request(using template rendering)
lightings.get('test.json',{
config: true,
el: '#app'
}).then(function(data){
console.log(data);
//other operation
}).catch(function(error){
console.log(error);
});
<!-- html -->
<div id="app">
<p>author: {{author.firstName}} {{author.lastName}}</p>
<p>name: {{name}}</p>
</div>
Performing a GET request(do not use template rendering)
lightings.get('test.json')
.then(function(data){
console.log(data);
//dom operation and other operation
}).catch(function(error){
console.log(error);
});
Cross domain request
lightings.jsonp('http://jayzangwill.cn/test.json')
.then(function(data){
console.log(data);
//dom operation and other operation
}).catch(function(error){
console.log(error);
});
lightings.get(url[,data,[options]])
lightings.post(url[,data,[options]])
lightings.jsonp(url[,data,[options]])
NOTE:
- When using options as the second argument, you need to pass a
config:true
property, such as
lightings.get('test.json',{
config:true,
...
});
- jsonp does not support template rendering,
timeout
,progress
- el:lightings mount elements for template rendering.(Only in the data format for JSON support get, post)
- dataType:server data return format,default is JSON, optional value: JSON,XML, HTML, text.
- async: whether asynchronous.default asynchronous.
- contentType: request header.(only support post requests)
- timeout: timeout. default 0 (no timeout is set)
- progress:a function in the process of sending a request to the Ajax
- Add
timeout
configuration item. (jsonp does not support timeout) - Add
progress
configuration item. (jsonp does not support timeout)
Fixed low browser Promise
function
- Fixed a bug in IE9 under bug
- Support template rendering(jsonp does not support)
modify lightings API, abolish some outdated configuration
optimized template rendering
- Fixed issue where async could not be set to false
- Fixed issue with false unable to get data when set to Async