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 });