首页 > 代码库 > ajax和jsonp的封装

ajax和jsonp的封装

一直在用jQuery的ajax,跨域也是一直用的jQuery的jsonp,jQuery确实很方便,$.ajax({...})就可以搞定。

为了更好的理解ajax和jsonp,又重新看了下书,看了一些博客,参照他们的代码封装了一个简单的库。

代码地址:http://files.cnblogs.com/zjzhome/ajax.js

 

使用方法和jQuery类似。

不跨域的话:

    Z.ajax(‘test.php‘, {        data: {            name: ‘zjz‘,            age: 10        },        dataType: ‘json‘,        timeout: 2000,        success: function(r) {            console.log(r);        },        failure: function(xhr, msg) {            console.log(msg);        }    });

 

跨域的话把dataType改成jsonp:

    Z.ajax(‘http://xxxxx/test.php‘, {        data: {            name: ‘zjz‘,            age: 23        },        dataType: ‘jsonp‘,        callback: ‘callback‘,        success: function(data) {            console.log(data)        }    });     

不过不要产生误解,其实jsonp和ajax半点关系都没有了,jQuery的封装让好多人以为jsonp是ajax的一种方式,之前我也是。。。。可以去看看书。

 

还有待完善,jsonp还没有加上错误处理。

 

参考:《JavaScript高级程序设计(第三版)》 

          http://www.travisup.com/post/index/28
          http://www.cnblogs.com/snandy/archive/2011/04/25/2026648.html

ajax和jsonp的封装