最近尝试用 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 ![]() 这报错是浏览器自己报的,和 jq 无法。你换个 firefox 看看,404 就不会在控制台报错 |