ajax 检查http地址的文件是否存在,如果存在就显示,如果不存在就用替代文件来显示。
这个需求本可以在java中做,File isExist然后用ajax来返回。但总觉得重量级了。今天换ajax head请求来处理。
nginx配置跨域 head请求:
server {
listen 80;
server_name localhost;
location / {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'HEAD';
root /home/files;
}
}
javascript :
var flag = false;
try {
$.ajax({
url : fileurl,
async: false,
type:'HEAD',
error: function() { flag = false; },
success: function() { flag = true; }
});
} catch(err) {
flag = false;
}finally{
return flag;
}
用同步来检查,方便后面判断。