Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Использование подкаченного XML (https://javascript.ru/forum/misc/58599-ispolzovanie-podkachennogo-xml.html)

carder 30.09.2015 16:32

Использование подкаченного XML
 
Есть селектор областей:
Область 1
Область 2
....
Область 40.

В некоторых из этих областей есть города с доставкой, в некоторых по нескольку. Если выбрана область, в которой есть такой город, то появляется селектор с городами:
Город 1
...
Город 5
Другой город.

И теперь самое интересное, есть XML файл, в котором прописаны адреса пунктов в этих городах (http://gw.edostavka.ru:11443/pvzlist.php).
Задача чтобы при выборе области, а затем города выводился список пунктов.
Как это лучше организовать? Как-то задействовать базу MySQL, или же просто вводить переменными?


Я вижу такое решение, в скрипте задать массивы, типа:
['Область1', 'Город1', 'Город2']
['Область2']
['Область3', 'Город1']...
По выбранному select находить массив и проверять на количество элементов. Далее, если >1, выводить select городов. А уже по значению этого селектора, искать в XML данные.
Рационально ли это, или есть более изящный метод?

Стоит ли каждый раз обращаться к XML на стороннем ресурсе, или настроить cron на сохранение и обращаться к сохранненому (инфа обновляется не чаще раза в день).

ksa 30.09.2015 16:44

Цитата:

Сообщение от carder
Я вижу такое решение, в скрипте задать массивы, типа:
['Область1', 'Город1', 'Город2']
['Область2']
['Область3', 'Город1']

Более удобнее сделать структуру такого вида
var regions=[
   {
      name: 'название области',
      cities: ['город1','город2']
   }
];

carder 01.10.2015 13:47

это уже получается массив объектов? А как к ним обращаться?

и как всё же лучше поступить со сторонним XML? Скопировать себе и обращаться через javascript, или же вместе со страницей подгружать через PHP?

ksa 01.10.2015 14:02

Цитата:

Сообщение от carder
А как к ним обращаться?

Где массив - как к массиву... А где объект - как к объекту. :)

// название четвертой области
regions[3].name
// третий город в четвертой области
regions[3].cities[2]


Цитата:

Сообщение от carder
и как всё же лучше поступить со сторонним XML? Скопировать себе и обращаться через javascript, или же вместе со страницей подгружать через PHP?

Это уже тебе решать...


Часовой пояс GMT +3, время: 13:58.