Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.07.2017
Сообщений: 37
1

Подтянуть файлы с другого сервера

16.02.2018, 17:53. Показов 1722. Ответов 7
Метки нет (Все метки)

Здравствуйте. Есть сайт. К исходным файлам доступа нет. На этом сайте стоит скрипт, который подгружает элемент. HTML и CSS элемента лежат на другом сервере. Вопрос: как скрипту на первом сайте использовать файлы со второго сайта? Реализация должна быть только на JS

Добавлено через 33 минуты
p.s. На первом сайте нельзя править исходный код, но можно добавлять скрипт.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2018, 17:53
Ответы с готовыми решениями:

Можно ли загрузить страницу с другого сервера в переменную?
Можно ли загрузить страницу с другого сервера в переменную? Необходимо с нее получить значение...

Как подтянуть данные из БД?
Как подтянуть данные из базы данных MySQL, в JavaScript и засунуть их например массив, для...

Include php с другого сервера
Єсть ли возможность заинклудить php файл з иного сервера.

Прием Header от другого сервера
Всем привет! Столкнулся с такой штукой, совершенно новой для меня: Удаленный сервер присылает...

7
Всегда онлайн
1078 / 782 / 295
Регистрация: 07.04.2013
Сообщений: 2,700
17.02.2018, 12:20 2
Цитадель, ajaxом подтягивается ответ с сервера, допустим POST secretserver.com/html, который возвращает HTML и потом просто добавляется на сайт:

Javascript
1
2
3
4
var dataBlock = document.createElement('div');
dataBlock.insertAdjacentHTML('afterbegin', html); //html - ответ с сервера
 
document.body.appendChild(dataBlock );
1
0 / 0 / 0
Регистрация: 26.07.2017
Сообщений: 37
19.02.2018, 14:51  [ТС] 3
Подскажите пожалуйста. Кусок кода:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(document).ready(function () {
if (window.location.pathname == '/models/rio/') {
        var ajaxRioHTML = $.ajax({ 
            url: "http://domain/lead.html", //делаю запрос на другой домен
            type: "POST", //методом пост
            dataType: "html",
            success: function (status) {
                console.log(status);
        });
        var ajaxRioCSS = $.ajax({
            url: "http://domain/lead.css", //подтягиваю css
            type: "POST",
            dataType: "type/css"
        });
            var0 (['applyWidget', {
             'lead': {
               desktop: {
               tpls: {
                 "html": 'ajaxRioHTML'
                   },
                css: 'ajaxRioCSS',
                    }}}
    ])}
Я читаю документацию аякс, но пока в голове каша. Получается я помещаю в переменную результат аякс-запроса в виде html или css, затем эти переменные вывожу дальше по скрипту.

Консоль выводит No 'Access-Control-Allow-Origin' header is present on the requested resource. в ответ на запрос к html, и + The response had HTTP status code 405. в ответ на запрос к css.
0
Всегда онлайн
1078 / 782 / 295
Регистрация: 07.04.2013
Сообщений: 2,700
19.02.2018, 17:01 4
Цитадель, как пишет в документации - mozilla, 405 означает что метод которым запросили данные - неверный и /или не поддерживается.
1
Эксперт JS
2072 / 1437 / 559
Регистрация: 11.07.2016
Сообщений: 3,393
19.02.2018, 17:19 5
Цитата Сообщение от Цитадель Посмотреть сообщение
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Если у вас нет доступа к серверу, у которого вы запрашиваете данные, данную ошибку вам не обойти. Это называется CORS. Политика безопасности, запрещающая кроссдоменные аякс-запросы по умолчанию. Сервер, к которому идёт запрос, должен разрешить запросы с вашего домена, добавив соответствующий заголовок.

Добавлено через 54 секунды
И да. Запросы на получение HTML и CSS обычно отправляются методом GET.
1
0 / 0 / 0
Регистрация: 26.07.2017
Сообщений: 37
20.02.2018, 15:06  [ТС] 6
Кажется, получилось вытянуть один из нужных файлов (см вложение №1).
Но стили не подгрузились, хотя код аналогичный.
В чем может быть причина?
И еще нубские вопросы...
Ответ от сервера получен, данные загрузились. Как их теперь вывести в нужный мне элемент DOM?



Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var rioHTML = $.ajax({
                        type: 'GET',
                        url: 'url',
                        dataType: 'text/html',
                        global:false,
                        crossDomain:true,
                        success: function(data) {
                            return data;
                            }
                    }).responseText;                
                    
    var rioCSS = $.ajax({
                        type: 'GET',
                        url: 'url',
                        dataType: 'text/css',
                        global:false,
                        crossDomain:true,
                        success: function(data) {
                            return data;
                            }
                    }).responseText;
PS во втором вложении видно, что статус ответа сервера отличается по цвету (у нужного мне запроса статус серого цвета). Что это значит?
Миниатюры
Подтянуть файлы с другого сервера   Подтянуть файлы с другого сервера  
0
0 / 0 / 0
Регистрация: 26.07.2017
Сообщений: 37
20.02.2018, 15:09  [ТС] 7
так, вру. файл со стилями тут же.
Миниатюры
Подтянуть файлы с другого сервера  
0
Эксперт JS
2072 / 1437 / 559
Регистрация: 11.07.2016
Сообщений: 3,393
20.02.2018, 15:20 8
Лучший ответ Сообщение было отмечено Цитадель как решение

Решение

Цитата Сообщение от Цитадель Посмотреть сообщение
во втором вложении видно, что статус ответа сервера отличается по цвету
Там же справа написано. Данные получены из кэша браузера. Это значит, что браузер не стал запрашивать все данные повторно и просто достал их из сохранённого локально кэша.
Цитата Сообщение от Цитадель Посмотреть сообщение
Как их теперь вывести в нужный мне элемент DOM?
Используйте DOM-API. Учитывая, что вы используете JQ, посмотрите в сторону метода $.append(), $.prepend() и прочие схожие. Данные из файла со стилями можно запихнуть в <head> документа. Добавленные стили автоматически применятся к вашему текущему документу.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2018, 15:20

Запрос с другого сервера и php
Добрый вечер! Есть такой скрипт: switch ($unbun) { case ('in ban.' == true ): $bans =...

Прием ответа от другого сервера
Добрый день, подскажите пожалуйста как принять или обработать такой ответ { &quot;id&quot;:...

Открытие Реплики С Другого Сервера
Добрый день, коллеги! :( Ситуация следующая. Есть 2 домино-сервера Server1 и Server2, на них...

Как привязать адреса с другого сервера
Здравствуйте, уважаемые! Есть два сервера. сервер А eth0:0 - public ip x.x.x.x сервер Б...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru