- ×
Ajax without XML : Asynchronous JavaScript and JavaScript/JSON(P)
Filed under dataShow Allaja.js
Ajax without XML : Asynchronous Javascript and JavaScript/JSON(P)
Basic Sample
Request JSON data
aja() .url('/api/data.json') .on('success', function(data){ //data is a JavaScript object }) .go();
Load html into an element
aja() .url('/views/page.html') .into('.container') .go();
More options using the fluent api, terrific REST client.
aja() .method('GET') .url('/api/customer') .timeout(2500) .data({firstname: 'John Romuald'}) .on('200', function(response){ //well done }) .on('timeout', functon(){ // uh oh... Request ended. Do something fancy here, don't let your user wait forever! }) .go(); aja() .method('PUT') .url('/api/customer') .cache(false) .body({id : 12, firstname: 'John Romuald', job : 'linguist'}) .on('200', function(response){ //well done }) .on('40x', function(response){ //something is definitely wrong }) .on('500', function(response){ //oh crap }) .go();
JSONP
aja() .url('http://otherdomain.com/api/remoteScript') .type('jsonp') .jsonPaddingName('callbackParameter') .jsonPadding('someGlobalFunction') .on('success', function(data){ //Fuk cross origin policy }) .go();
Raw script loading
aja() .url('http://platform.twitter.com/widgets.js') .type('script') .on('success', function(){ window.twttr.widgets.load(); }) .go();
Development
Setup
You need grunt >= 0.4 as well as node and npm installed and running on your system.
git clone https://github.com/krampstudio/aja.js.git cd aja.js npm install
Tests
Run the tests:
grunt test
Development
The dev of this library is based on TDD principle. So, dev means write tests. Run the developent server :
grunt devtest
So tests run once something is modified and you can access it also at http://localhost:9901/test
Contributing
Contributions (issue reporting, bug fixes, feedback, typos, gimie a tip, etc.) are really welcomed! This library is developed using the TDD principles, so I accept pull request only if they come with the according unit/integration test.
I'd love if somebody can create a nice logo for aja.js...
History
- 0.1.0 : initial release
- 0.2.0 : added support of new HTTP methods (trace, patch and connect)
- 0.2.1 : Fix missing
main
prop in package.json
- 0.2.1 : Fix missing
- 0.3.0 : support new request type : script
- 0.3.1 : Fix issue #4 and cache management
- 0.3.2 : Fix issue #7
- 0.3.3 : Fix issue #10 and #11
- 0.3.4 : reminify
- 0.4.0 : added timeout
- 0.4.1 : Merge PR #16
License
Copyright (c) 2014 Bertrand Chevrier
<"chevrier_bertrand gmail_com".replace(/\s/, '@').replace(/_/g, '.')>
Licensed under the MIT license.