自定义jQuery 跨域请求 callback 函数名
2011-05-19 13:13 我来看看 阅读(1238) 评论(2) 编辑 收藏 举报jQuery的getJSON方法在跨域请求时,只要在请求地址后面跟上callback=?就可以实现非常方便,请求时系统会用自动生成的回调函数名来替换问号。
如果想对请求页面做缓存问题就来了,callback参数随着每次请求都会变化。其实jQuery已经帮大家准备好了解决这个问题的办法,换用ajax方法调用即可。
getJSON示例:
1 $.getJSON('http://localhost/writing/tops/5?callback=?',
2 function (data) {
3 $.each(data, function (i, item) {
4 $('#top15').append('<li><a href="list.aspx?writingid=' + item.Id + '" target="_blank" >' + item.Title + '</a></li>');
5 });
6 });
2 function (data) {
3 $.each(data, function (i, item) {
4 $('#top15').append('<li><a href="list.aspx?writingid=' + item.Id + '" target="_blank" >' + item.Title + '</a></li>');
5 });
6 });
ajax示例:
1 $.ajax({
2 url: 'http://localhost/writing/tops/3',
3 dataType: 'jsonp',
4 jsonp: 'callback',
5 jsonpCallback: 'fullTops',
6 success: function (data) {
7 $.each(data, function (i, item) {
8 $('#top15').append('<li><a href="/list.aspx?writingid=' + item.Id.toString() + '" target="_blank" >' + item.Title + '</a></li>');
9 });
10 }
11 });
2 url: 'http://localhost/writing/tops/3',
3 dataType: 'jsonp',
4 jsonp: 'callback',
5 jsonpCallback: 'fullTops',
6 success: function (data) {
7 $.each(data, function (i, item) {
8 $('#top15').append('<li><a href="/list.aspx?writingid=' + item.Id.toString() + '" target="_blank" >' + item.Title + '</a></li>');
9 });
10 }
11 });