最近尝试用 jQuery 的 ajax,通过判断状态码的方式来判断文件是否存在,但是当文件不存在的时候 jQuery 会报错,如下:
Failed to load resource: the server responded with a status of 404 (Not Found)
由于使用的 ajax,出错的地方在 jQuery,用到 ajax 请求文件的代码如下:
function isFileExist(url){
if(url.length==0){
return false;
}
var isExist=true;
$.ajax(url, {
type: 'get',
async: false,
timeout: 1000,
success: function() {
},
error: function() {
isExist = false;
}
});
return isExist;
}
检测文件是否存在的功能实现了,但是那条报错信息还是存在,虽然对功能没有影响,但是莫名其妙多出来一条报错对于我这个强迫症来说不太好受,请问有什么办法让他不报错吗?
尝试过 try catch,貌似不太行(←也有可能是我技术渣
1
jifengg 2020-05-03 23:07:49 +08:00
get 换成 head 试试?
|
2
lichdkimba 2020-05-04 01:37:00 +08:00 via iPhone
这样写真的可以么 ajax 是异步执行的吧
|
3
zhw2590582 2020-05-04 07:55:47 +08:00
现在浏览器还支持 async 为 false 吗
|
4
lff0305 2020-05-04 09:26:46 +08:00
猜测和 CORS 的 Preflight request 有关, 需要 server 支持
详细见 https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request |
6
Eltrac OP @lichdkimba 我把异步关了啊
|
7
Eltrac OP @lff0305 看了下,感觉应该不是,可能是因为 jQuery 用 ajax 请求文件时,状态码为 404 就会抛出错误
|
8
deepred 2020-05-04 18:48:29 +08:00 1
这报错是浏览器自己报的,和 jq 无法。你换个 firefox 看看,404 就不会在控制台报错
|