Разбор XML-канала с помощью jQuery - междоменный домен (jsonp)

0

Как я могу разобрать этот XML-канал с помощью jQuery?

http://bit.ly/1cUJ1Dk

Мне нужно получить значение Open Value

Это то, что у меня есть до сих пор:

var xml = "http://bit.ly/1cUJ1Dk",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$sharePrice = $xml.find( 'field[name="open"]' );

// Add Opening Price to Div
$(".open").append( $sharePrice.text() );

PS. Я получаю доступ к этому с другого сервера, поэтому вам нужно обойти политику одного и того же происхождения

  • 0
    См. Документацию по этой функции: анализирует строку в XML-документе . Это строка XML, а не URI. Вам нужно использовать Ajax. Есть много учебников там.
Теги:
jsonp

1 ответ

0

Вы должны отправить HTTP-запрос GET для извлечения фида, а затем проанализировать его как данные XML.

$.ajax({
    type: 'GET',
    // Don't use URLs with redirection
    url: 'http://feeds1.mcgbfa.com/engine.asmx/get15MinDelayedPrices?CompanyKey=coronation&subfeed=0',
    dataType: 'xml',
    success: function(xml) {
        console.log(xml.find('field[name="open"]'));
    },
    error: function() {
        console.log('Error');  
    }
});

Если вы видите "Ошибка" на своей консоли и если HTTP-запрос является хорошим, это означает, что возвращаемый XML недействителен.

Также: кажется, что сервер подачи работает медленно.

  • 0
    Это будет ошибка при том же сбое политики происхождения тоже.
  • 0
    Я скопировал ваш код и получил эту ошибку: «Ошибка синтаксического анализа XML: элемент не найден. Расположение: moz-nullprincipal: {5f9bde66-c960-254f-a491-f93e414c9e71} Строка № 1, столбец 1: ^», это может быть причиной превышения времени ожидания моя сторона.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню