如何使用JavaScript檢查文件是否存在(這是一個xml文件,我希望在這種情況下檢查)?如何使用JavaScript檢查文件的存在?
回答
,如果你使用jQuery,您可以嘗試加載該文件
$.ajax({
type: "GET",
url: "/some.xml",
success: function()
{ /** found! **/},
error: function(xhr, status, error) {
if(xhr.status==404)
{ /** not found! **/}
}
});
,如果你不使用jQuery:
function ajaxRequest(){
var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]
//Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
if (window.ActiveXObject){
for (var i=0; i<activexmodes.length; i++){
try{
return new ActiveXObject(activexmodes[i])
}
catch(e){
//suppress error
}
}
}
else if (window.XMLHttpRequest) // if Mozilla, Safari etc
return new XMLHttpRequest()
else
return false
}
var myrequest=new ajaxRequest()
myrequest.onreadystatechange=function(){
if (myrequest.readyState==4){ //if request has completed
if (myrequest.status==200 || window.location.href.indexOf("http")==-1){
// FOUND!
}
}
}
myrequest.open('GET', 'http://blabla.com/somefile.xml', true);
如果文件位於提供包含JavaScript的頁面,你可以嘗試sending an ajax請求,並驗證返回的狀態碼在同一主機上:
function checkFile(fileUrl) {
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('HEAD', fileUrl, true);
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
if (self.xmlHttpReq.status == 200) {
alert('the file exists');
} else if (self.xmlHttpReq.status == 404) {
alert('the file does not exist');
}
}
}
self.xmlHttpReq.send();
}
checkFile('/somefile.xml');
+1使用HEAD請求 – 2009-11-01 15:55:51
JavaScript並沒有真正有任何文件處理功能。你最好的選擇是做檢查服務器端並把一些上下文發送回客戶端。
如果你想獲得超級哈克你可以稱之爲一個xmlHttpRequest
(如果你使用jQuery來看看在$.ajax
功能)
一旦你調用$就可以使用成功/錯誤處理程序確定要做什麼。如果文件不存在,它應該吐出一個錯誤。
這當然不是推薦的方法來做到這一點。
我沒有足夠的信譽要發表評論所以讓我注意到,在安華錢德拉的答案(非jQuery的版本),你必須最終調用:
myrequest.send();
而且,HEAD方法會更好地「檢查文件的存在」,因爲您不需要從服務器讀取整個文件。
您可能沒有發表評論的聲望,但是您可以編輯'Anwar Chandra的回答。改進答案並提出適當的編輯總結。在3位評論者批准該建議後,您可以獲得+2代表。 – Raju 2016-04-06 00:01:16
很高興知道,謝謝。 – 2016-04-12 13:44:25
- 1. 如何檢查文件存在或不存在使用javascript的移動sd卡
- 2. 如何使用XUL/Javascript檢查windows%temp%文件夾中的文件存在?
- 3. Javascript:使用javascript檢查本地文件的存在
- 4. 如何使用JavaScript檢查Google地球插件的存在?
- 5. 的Javascript檢查文件是否存在
- 6. 使用Jekyll檢查文件的存在
- 7. 如何檢查文件的存在?
- 8. 使用JavaScript檢查iOS中路徑中存在的文件
- 9. 檢查文件是否存在使用Acrobat JavaScript的
- 10. 檢查HTML文件中使用JavaScript在服務器上存在
- 11. 如何檢查文件是否存在或不在JavaScript?
- 12. 如何使用vb.net檢查checklistbox中存在的文件
- 13. 如何使用TSQL檢查.txt文件的存在性?
- 14. 如何檢查是否存在使用python的couchdb文件
- 15. 如何在C#中使用「Environment.UserName」檢查文件是否存在?
- 16. 檢查文件是否存在或不使用JavaScript
- 17. 如何檢查,直到文件存在
- 18. 如何檢查文件是否存在
- 19. 如何檢查文件存在
- 20. 如何檢查文件是否存在?
- 21. 如何檢查文件是否存在?
- 22. 我如何檢查文件存在
- 23. 如何檢查文件是否存在?
- 24. 如何檢查文件是否存在
- 25. HTML:如何檢查文件是否存在於本地PC或不使用javascript
- 26. 如何檢查 「的$(document)。在」 使用javascript
- 27. 如何檢查文件是否存在從C#或Javascript?
- 28. 如何檢查一個文件是否存在於JavaScript中?
- 29. Javascript:如何檢查url的存在?
- 30. 如何檢查/使用JavaScript
「#somehiddenplace」並不是真正需要的jQuery,你可以使用$ .get,$ .post或$ .Ajax而不需要不必要的標記 – 2009-11-01 13:25:33
@vatos你是對的。謝謝 – 2009-11-01 13:35:42
它已更新。更好地使用$ .ajax – 2009-11-01 13:36:23