14.05.2020, 09:34
|
Аспирант
|
|
Регистрация: 18.10.2012
Сообщений: 63
|
|
Про wordpress всё понятно. тут дело в другом. этот сайт (travelshift) формируется динамически уже в браузере с помощью js.
т.е. вот эти данные, если вы посмотрите их внимательно служат как раз для формирования динамической страницы на стороне клиента с помощью js.(подозреваю что используется vue)
Мне нужно подпихнуть эти данные (они же отдаются в браузер, если ввести строку) в скрипт js который эти данные запрашивает.
что то типа локального подключения json файла. т.е. прямого указания - прочитать все данные из json файла, а возьму я эти данные не из базы wordpress, а введя ссылку в адресной строке и скопировав их в json
Последний раз редактировалось oslayer, 14.05.2020 в 09:38.
|
|
14.05.2020, 09:37
|
Аспирант
|
|
Регистрация: 18.10.2012
Сообщений: 63
|
|
Сообщение от laimas
|
Сеть, сделайте запрос по этой ссылке. В нем вы увидите, что клиентский скрипт делает асинхронный запрос к серверу, а ответом его будет json. Забота клиента получив эти данные "расфасовать" их куда следует.
|
Вот мне и нужно расфасовать эти данные, но без запроса к бд wordpress, просто скопировав готовый ответ
|
|
14.05.2020, 09:38
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Вам что нужно именно эти данные? Ну так заберите их и поместите у себя на сайте как файл, затем запрашивайте их (для его получения и скриптов то не надо будет, хватит и Apach), декодируйте и делайте с ними чего хотите.
|
|
14.05.2020, 09:48
|
Аспирант
|
|
Регистрация: 18.10.2012
Сообщений: 63
|
|
Да именно, эти данные. которые нужно подпихнуть этому скрипту.
Так вот и проблема в том что не знаю как и где это сделать... ума не хватает
Смог найти и понять что вот этот скрипт
https://travelshift.com/wp-content/t...eeb227e4057.js
получает все необходимые данные
Понимаю что в нём нужно заменить запросы к api , на запросы к готовым файлам.
?action=base - только в одном месте в этом файле.
Но как это сделать - не знаю. Там слишком сложная для меня структура
Последний раз редактировалось oslayer, 14.05.2020 в 09:51.
|
|
14.05.2020, 09:52
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Я не понимаю чего надо. Что из этих данных должно получится на клиенте мне не ведомо. Кому что "подпихнуть" я не в курсе, могу только сказать, что это должен быть клиентский сценарий, который точно знает структуру данных, ожидает именно их.
А сами данные, коли они нужны, после запроса по ссылке сохраните как имя_файла.json у себя на сервере, если этого будет достаточно.
|
|
14.05.2020, 09:55
|
Аспирант
|
|
Регистрация: 18.10.2012
Сообщений: 63
|
|
Сообщение от laimas
|
Я не понимаю чего надо. Что из этих данных должно получится на клиенте мне не ведомо. Кому что "подпихнуть" я не в курсе, могу только сказать, что это должен быть клиентский сценарий, который точно знает структуру данных, ожидает именно их.
|
fetchCombinedBase: (E = Object(o.a)(regeneratorRuntime.mark((function t(e) {
var r, n, o, c, l, d, h;
return regeneratorRuntime.wrap((function (t) {
for (;;) switch (t.prev = t.next) {
case 0:
return r = e.commit, n = e.rootState, o = "".concat(T, "?action=base"), t.next = 4, f.a.get(o, {
responseType: "json"
});
case 4:
c = t.sent, l = c.data, d = [], h = n.ui.bp.mobilePortrait ? 512 : 1024, Object.keys(l).forEach((function (t) {
var e = l[t];
"config" == t ? r("i18n/setContent", {
en: e
}, {
root: !0
}) : "pages" == t || "extrapages" == t ? d = d.concat(e) : "blogposts" == t ? r("setBlogPosts", {
posts: e
}) : "trips" == t ? r("setTrips", {
trips: e,
imageQuality: h
}) : "partners" == t ? r("setPartners", {
partners: e
}) : "social_feed" == t && r("setSocialFeed", {
feed: e
})
})), r("setPages", {
pages: d
});
Вот этот кусок кода, который по моему мнению получает данные. Если это так, то здесь нужно заменить на получение из файла. Как это сделать я не знаю.
|
|
14.05.2020, 10:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Здесь ?action=base, это GET параметры запроса с ключом action и значением base. Запрос будет производится по указанному пути, если судить по примеру, то .../api/ и если нет перенаправления, то в каталоге должен быть индексный файл, который и будет обрабатывать этот запрос - ключ и его значение. В CMS же все сложнее. В данном скрипте адрес запроса формируется тут - o = "".concat(T, "?action=base"). Вы можете вместо этого переменной "o" указать любой свой путь (относительный или полный) просто к файлу хранящему эти данные.
|
|
14.05.2020, 10:16
|
Аспирант
|
|
Регистрация: 18.10.2012
Сообщений: 63
|
|
Сообщение от laimas
|
Здесь ?action=base, это GET параметры запроса с ключом action и значением base. Запрос будет производится по указанному пути, если судить по примеру, то .../api/ и если нет перенаправления, то в каталоге должен быть индексный файл, который и будет обрабатывать этот запрос - ключ и его значение. В CMS же все сложнее. В данном скрипте адрес запроса формируется тут - o = "".concat(T, "?action=base"). Вы можете вместо этого переменной "o" указать любой свой путь (относительный или полный) просто к файлу хранящему эти данные.
|
Что то типа
o = "".concat(T, "/mydata.json")
так?
|
|
14.05.2020, 10:20
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Метод concat() объединяет текст из двух или более строк и возвращает строку из этих строк. То есть, если переменная T содержит путь к реальному каталогу на вашем сайте, то да, нужно только в этом каталоге сохранить эти данные под указанным именем.
|
|
14.05.2020, 10:32
|
Аспирант
|
|
Регистрация: 18.10.2012
Сообщений: 63
|
|
буду пробовать
|
|
|
|