一直在用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
时间: 2024-11-01 08:43:23