jsonp 数据缓存
jsonp 是跨域调用数据的常用方法,但是由于 每次调用数据都请求服务器所以这一点很是令人烦恼, 虽然服务器可以什么都不做 直接返回 304, 但毕竟还是发起了一次请求
在jQuery下jsonp的简写方法如下:
$.getJSON("http://api.asilu.com/weather/?callback=?", function(s){
console.log(s);
});这种写法,每次都会请求服务器数据,所以行不通,但是这种写法是最简单的$.getJSON 行不通 就用 $.ajax 开启缓存试试
$.ajax({
url : 'http://api.asilu.com/weather/',
dataType : "jsonp",
cache: true, // 开启缓存
jsonp: 'callback',
success : function(s){
console.log(s);
}
});在浏览器试试 还是白搭,这是肯定的 每次 请求服务器的 URL 查询 参数 都不同,肯定还是要 请求服务器数据URL 查询参数 的变化主要就是 ?callback=jQuery********* 所以就有了本例的最终代码
$.ajax({
url : 'http://api.asilu.com/weather/',
dataType : "jsonp",
cache: true,
jsonpCallback: "jsonpCallback",
success : function(s){
console.log(s);
}
});当然还有必不可少的服务单配合, 主要就是输出 HTTP 头的 Expires/Cache-control信息即可
本文出自简爱博客,转载时请注明出处及相应链接。

可以查询手机归属地