JQuery XML существует - PullRequest
       4

JQuery XML существует

0 голосов
/ 08 апреля 2010

Я хочу использовать javascript / jquery, чтобы определить, существует ли XML-файл. Мне не нужно это обрабатывать; Мне просто нужно знать, доступно это или нет, но я не могу найти простой чек.

Вот что я пробовал:

 jQuery.noConflict();

  jQuery(document).ready(function(){
    var photo = '223';
    var exists = false;

    jQuery.load('/'+photo+'.xml', function (response, status, req) { 
      if (status == "success") { 
        exists = true;
      }
    });
  });

Ответы [ 2 ]

3 голосов
/ 08 апреля 2010

Если вы говорите о xml-файле на сервере, вы можете выполнить ajax-запрос, а затем написать собственный обработчик ошибок, чтобы проверить сообщение об ошибке.Вам нужно знать, какой именно код сообщения об ошибке для отсутствующего файла (обычно 404).Вы можете использовать Firebug Console, чтобы проверить, какое именно сообщение об ошибке и код.

$.ajax({
     type: "GET",
     url: "text.xml",
     dataType: "xml",
     success: function(xml) {
        alert("great success");
     }, 
     error: function(xhr, status, error) {
        if(xhr.status == 404)
        {
            alert("xml file not found");
        } else {
            //some other error occured, statusText will give you the error message
            alert("error: " + xhr.statusText);
        }
     } //end error
 }); //close $.ajax(
0 голосов
/ 08 апреля 2010

Ваш вопрос мне не понятен. Если я понимаю, вы хотите проверить, присутствует ли файл (XML) на сервере HTTP.

Это правильно? Если это так, вы можете просто сделать:

$.get('url-to-file.xml', function(response, status, req) {
    if (status == 'success') {
        alert('exists');
    }
});

РЕДАКТИРОВАНИЕ: Как указано @lzyy в комментариях, .get () вызывает обратный вызов только в случае успеха. Тем не менее, я бы придерживался .load (), используя $ (document) в качестве селектора. См:

$(document).load('url-to-file.xml', function(response, status, req) {
    if (status == 'success') {
        alert('exists');
    } else if (status == 'error') {
        alert('doesnt exist');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...