2015-11-18 2 views
1

Я пытаюсь сделать извлечь данные из файла XML на HTML-страницу.Успех {} не выполняется в блоке .ajax

Целью здесь является отображение данных на странице.

Код, приведенный ниже, непосредственно выполняет блок ошибок и способен завершить выполнение, но не выполняет блок успешности, а также не дает никакой синтаксической ошибки.

Я также упомянул .ajax documentation, чтобы выяснить, реализую ли я что-то неправильным образом, но все же напрасно.

Возможно, URL-адрес может быть проблемой, но в основном не принимает никакого URL-адреса, полный ли путь к каталогу или один из них ниже.

Пожалуйста, предложите решение этого вопроса.

$.ajax({ 
    url: "../assets/xml/blog.xml", 
    dataType: "xml", 
    //data: (title, title), 
    type: 'GET', 
    success: function(data){ 
     console.log(data); 
     $(data).find('.item').each(function(){ 
     var title = $(this).find('.title').text(); 
    }); 
     $('.blog').append({ 
      text: title 
     });  
    }, 
    error: function(data){ 
     $('.blog').text('No Blogs Found!'); 
    }, 
    //complete: function(data){ 
    // $('.blog').text('All blogs are here!') 
    //} 
}); 
+0

есть ли ошибка отображения в консоли? –

+0

«данных» в блоке ошибок должно быть достаточно информации, чтобы узнать, что такое ошибка –

+0

Да. Он показывает ошибку 404 в консоли. –

ответ

0

Ошибка может быть

$(data).find('.item').each(function(){ 
    var title = $(this).find('.title').text(); 
}); 

$('.blog').append({ 
    text: title 
}); 

, где data является document, а не корневой элемент xml документа; title не указано указано за пределами .each(); .append() ожидает String или Function, а не объект буквальный.

Попробуйте выбрать documentElement из возвращаемой data с использованием .append() в .each() с параметром title, как строка, возвращаемая $(this).find('.title').text()

$(data.documentElement).find('.item').each(function(){ 
    var title = $(this).find('.title').text(); 
    $('.blog').append(title); 
}); 
+0

Я пробовал ваш фрагмент кода, но все же ... впустую. Спасибо в любом случае. @ guest271314 –

+0

@AtulKumar Только ошибка '404'? – guest271314

+0

Да. Он показывает «данные Объект {readyState: 4, responseText:" ", responseXML: null, status: 404, statusText:" error "}" в консоли. –

Смежные вопросы