компьютерный вопрос

vito

Добрый человек
9 Апр 2016
10,017
1,814
113
Россия
Док, можете подсказать?
Дошел до ajax запросов и не могу загрузить файл.
Использую код jquery внизу.
Запускал и php-сервер, и node - результат - ошибка: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Не дает доступа к файлу. Почему - пока не понял.
 

Indigo

Well-Known Member
18 Июл 2014
10,288
2,297
113
Док, можете подсказать?
Дошел до ajax запросов и не могу загрузить файл.
Использую код jquery внизу.
Запускал и php-сервер, и node - результат - ошибка: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Не дает доступа к файлу. Почему - пока не понял.
Система линукс?
 

Indigo

Well-Known Member
18 Июл 2014
10,288
2,297
113
Тогда может быть вот это



If I understood it right you are doing an XMLHttpRequest to a different domain than your page is on. So the browser is blocking it as it usually allows a request in the same origin for security reasons. You need to do something different when you want to do a cross-domain request. A tutorial about how to achieve that is Using CORS.

When you are using postman they are not restricted by this policy. Quoted from Cross-Origin XMLHttpRequest:

Regular web pages can use the XMLHttpRequest object to send and receive data from remote servers, but they're limited by the same origin policy. Extensions aren't so limited. An extension can talk to remote servers outside of its origin, as long as it first requests cross-origin permissions.
Нужно проверить в консоли браузера (F12 клавиша) куда идет запрос. Может где-то домен один указан а где-то локалхост.
 
  • Like
Реакции: dok34.ru и vito

vito

Добрый человек
9 Апр 2016
10,017
1,814
113
Россия
Нужно проверить в консоли браузера (F12 клавиша) куда идет запрос. Может где-то домен один указан а где-то локалхост.
Собственно консоль и выдает ошибку.
Спасибо. Видимо потом разберусь.
 

vito

Добрый человек
9 Апр 2016
10,017
1,814
113
Россия
Вот код: html
Код:
<button>Загрузить</button>
    <div id="news">Нет новостей</div>
    <script>
        $(function() {

            $("button").click(function() {
                $("#news").load("http://localhost/php1/phpinfo/ajax1.php");
            });

        });
    </script>
php:
Код:
<?php
    echo "<h3>ЦСКА победил в чемпионате России</h3><h5>30.05.2013</h5>";
?>
 

Indigo

Well-Known Member
18 Июл 2014
10,288
2,297
113

Indigo

Well-Known Member
18 Июл 2014
10,288
2,297
113
Вот код: html
Код:
<button>Загрузить</button>
    <div id="news">Нет новостей</div>
    <script>
        $(function() {

            $("button").click(function() {
                $("#news").load("http://localhost/php1/phpinfo/ajax1.php");
            });

        });
    </script>
php:
Код:
<?php
    echo "<h3>ЦСКА победил в чемпионате России</h3><h5>30.05.2013</h5>";
?>
Может проблема с доступом к файловой системе на Винде, как вариант. В консоли нужно посмотреть сообщения откуда читается файл и что происходит.
 

Indigo

Well-Known Member
18 Июл 2014
10,288
2,297
113
Ты имеешь в виду просто адреса файлов? Один из них идет на localhost.
Да, я вижу что на локалхост. PHP сам работает? (дурацкий вопрос) Если не-ajax php скрипт написать и выполнить в браузере, php его обработает?
 
  • Like
Реакции: dok34.ru

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56

Indigo

Well-Known Member
18 Июл 2014
10,288
2,297
113
Посмотри ошибки в консоли браузера и инфу на вкладке network
 

Indigo

Well-Known Member
18 Июл 2014
10,288
2,297
113
Да, работает. Нет именно доступа через html
Там может быть что-то с настройкой сервера - ошибка эта может вылазить по разным причинам

вот например


или вот

 
  • Like
Реакции: dok34.ru и vito

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56
Мы подумали на выходных, решили, что лучше прописывать локальные пути к файлам, обсуждаемый инструмент похоже не очень видит днс. Сорри, сразу не написал, а затем забыл..
 

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56
Не для использования :)
Даже гику неудобно без петуха и блокнота :)
 

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56
Вам знакомо понятие «виртуальный маршрутизатор»? Одно из главных его преимуществ -- это VPN-концентратор в облаке для объединения удаленных филиалов, сотрудников и устройств. Хотите научиться настраивать виртуальный маршрутизатор в облаке? Тогда вперед!
Отписаться от рассылки.

Здравствуйте, Борис! На связи Константин Герасименко, руководитель Университета СЭДИКОММ – одного из первых в Восточной Европе учебного заведения, которое выдает международные сертификаты в сфере ИТ, а не государственные дипломы, малоинтересные работодателю.

На бесплатном мастер-классе «Как получить бесплатную лицензию и развернуть MikroTik RouterOS в облаке»‎ Вы узнаете:

- как получить бесплатную лицензию MikroTik RouterOS CHR;
- как развернуть MikroTik RouterOS в облаке;
- как выполнить базовые настройки RouterOS;
- что такое VPN-концентратор и как его настроить;
- как настроить PPTP (туннельный протокол типа точка-точка) в облаке;
- как выполняется настройка сервера IPsec на MikroTik по протоколу L2TP;
- что такое Web Proxy и как настроить веб-прокси в облаке;
- как повысить свою квалификацию в качестве ИТ-специалиста и зарабатывать в разы больше в условиях экономического кризиса.
Рассылка, может быть полезной :)
 

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56
  • Like
Реакции: Indigo

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56
HMS любопытно...
Не Уилу :)
 

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56

vito

Добрый человек
9 Апр 2016
10,017
1,814
113
Россия
Вопрос к знатокам разработки.

Сколько может занять времени выполнение задачи #4?
Как с этим справляться в реальном проекте если возникли трудности?

Я вот через console.log ковыряюсь, т.к выходит по 3 вложенных цикла с if-ами. Довольно медленно получается и утомительно.
 
  • Like
Реакции: dok34.ru

vito

Добрый человек
9 Апр 2016
10,017
1,814
113
Россия
Мое решение.
JavaScript:
   let obj = {};

        for (let elem of events) {
            let [year, month] = elem.date.split("-");

            if (obj[year] === undefined) {
                obj[year] = {};
            }

            if (obj[year][month] === undefined) {
                obj[year][month] = [];
            }

            for (let val in obj) {
                if (val == year) {
                   for (let prop in obj[val]) {
                       if (prop == month) {
                           obj[val][prop].push(elem.event);
                       }
                   }
                }
            }
        }

        console.log(obj);
 
  • Like
Реакции: dok34.ru и Indigo

Indigo

Well-Known Member
18 Июл 2014
10,288
2,297
113
  • Like
Реакции: dok34.ru

dok34.ru

Зануда Запорожец
7 Фев 2010
108,155
4,548
113
56
Мое решение.
JavaScript:
   let obj = {};

        for (let elem of events) {
            let [year, month] = elem.date.split("-");

            if (obj[year] === undefined) {
                obj[year] = {};
            }

            if (obj[year][month] === undefined) {
                obj[year][month] = [];
            }

            for (let val in obj) {
                if (val == year) {
                   for (let prop in obj[val]) {
                       if (prop == month) {
                           obj[val][prop].push(elem.event);
                       }
                   }
                }
            }
        }

        console.log(obj);
Как я понял, вариантов много.
Но работает вполне шустро, вот решение сына.
Консоль сначала свёрнута , разверните!