Проблемы с использованием jQuery AJAX для разбора XML - PullRequest
0 голосов
/ 10 августа 2011

Я не очень опытный программист и изучаю HTML / CSS / JS на лету. Я безуспешно пытаюсь разобрать XML с помощью методов jQuery AJAX.

Вот мой код: http://jsfiddle.net/Kb5qj/1/

А вот мой код:

$(document).ready(function() {
var divid = "#xmlcontent"

function parseXML(xml) {
    $(divid).empty();
    $(xml).find("CD").each(function() {
        var artist = $(this).find("ARTIST").text();
        var title = $(this).find("TITLE").text();
        $(divid).append("<li>" + artist + " - " + title + "</li>");
    });
}

function printError() {
    $(divid).html("An error occurred");
}

$.ajax({
    type: "GET",
    url: "www.w3schools.com/ajax/cd_catalog.xml",
    dataType: "xml",
    success: parseXML,
    error: printError
});
});

Я не знаю, в чем может быть проблема. Я написал и переписал и скопировал / вставил этот вызов $ .ajax много раз, но независимо от того, что я делаю, ничего не происходит. Помогите мне, пожалуйста?

Ответы [ 2 ]

1 голос
/ 10 августа 2011

Как я уже говорил, на jsfiddle произойдет сбой, поскольку они фактически не отправляют запрос get.Вот API, как этого добиться: http://doc.jsfiddle.net/use/echo.html

Если вы попытаетесь сделать то же самое в своей локальной системе, это может привести к сбою, возможно, из-за того, что вы делаете междоменный запрос, и ваш браузер изначально блокирует такие запросы.Вот где приходит jsonp, чтобы воспроизвести его для извлечения данных json через кросс-домены.

Вы можете немного взломать его, чтобы сделать то же самое для js .. Вот SO пост примерно так же: Существует ли существующий инструмент для jsonp, например извлечения xml в jquery?

0 голосов
/ 10 августа 2011

С небольшой ошибкой все в разборе , кажется, работает нормально. Проверьте это JSFiddle .

Вы не можете использовать запросы на получение от JSFiddle, но я смоделировал XML в HTML.Вы можете попробовать поместить свой XML-документ в DOM, чтобы разобраться в вашей проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...