Как получить XML-данные с помощью ajax в jquery?

#ajax #jquery

#ajax #jquery

Вопрос:

Я хочу использовать ajax в jquery для получения данных для моей страницы…

Проблема в том, что URL, который я вызываю, содержит несколько строк запроса, которые необходимо отправить вместе с ним…

например: URL, который я вызываю для получения данных, является:-

http://mysite.in.dataengine.aspx?t=abcdeamp;token=h34jk3amp;f=xml

данные, которые я получаю в ответ с этого URL, могут быть в формате xml или массивах java script (в зависимости от того, что я выберу)

например … xml будет выглядеть следующим образом:-

 <root version="1.0">  
    <Regions>
    <Region SubCode="MWEST" RCode="west"/>  
    <Region SubCode="MCENT" RCode="north"/>  
    <Region SubCode="THAN" RCode="south"/>  
    </Regions>  
</root>
  

и массив javascript будет выглядеть следующим образом :-

 Region = new Array();
Region.push(new Array('MWEST', 'west'));
Region.push(new Array('MCENT', 'north' ));
Region.push(new Array('THAN', 'south'));
  

Поэтому, когда я получаю данные, я хочу сохранить их в выпадающем списке. (используя ajax)

Примечание В качестве возвращаемых данных я могу получить либо xml,либо javascript-массивы, а не оба вместе.

Комментарии:

1. Пожалуйста, отформатируйте свой код с помощью кнопки Code.

Ответ №1:

Вы можете выполнить вызов ajax вместе с параметрами, подобными этому:

 var paramsData = "t=abcdeamp;token=h34jk3";
$.ajax({
    type: "GET",
    url: "dataengine.aspx",
    data: paramsData,
    dataType: "xml",
    success: function(xml){
           //process xml from server
    }
});
  

Комментарии:

1. Спасибо…. это было очень полезно … хотя и не сработало, потому что я получал данные из внешнего источника для ajax-обработки .. но все же .. это пригодится для другой части моего проекта… еще раз спасибо

Ответ №2:

Я бы посоветовал вам получить данные в формате JSON, поскольку Json изначально присущ javascript, и им гораздо легче манипулировать с помощью javascript по сравнению с XML. Самый простой способ, который я вижу для решения вашей проблемы, — это сохранить все ваши данные, будь то xml или json, и поместить их в скрытый div, а затем использовать jQuery для заполнения этих данных в выпадающем списке. Вот удивительный плагин jquery с примером, который должен облегчить вашу работу http://plugins .jquery.com/project/jqueryclientdb

Ответ №3:

Просто проанализируйте это. Я не уверен, сработает ли это, но это может:

 xml = ...
region = new Array();

$(xml).find('Region').each(function() {
  region.push(new Array($(this).attr('SubCode'), $(this).attr('RCode'));
});
  

Ответ №4:

Спасибо за вашу помощь, ребята…но я нашел решение….Как я уже сказал…которые я получаю взамен либо xml, либо javascript-массив … Итак .. я использую javascript-массивы .. и использую функцию в jquery *($.getScript)*, которая извлекает внешний javascript-код через ajax … Таким образом, теперь я получаю все свои данные через ajax в jquery…