Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

kairos

Користувачі
  
  • Публікації

    53
  • З нами

  • Відвідування

1 подписчик

Інформація

  • Стать
    Мужчина
  • Місто:
    Полтава
  • Інтереси
    Opencart, xml выгрузки

Відвідувачі профілю

2 202 перегляди профілю

kairos's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator
  • Reacting Well Rare
  • Conversation Starter
  • Week One Done

Recent Badges

6

Репутація

  1. Во общем да, оказалось что дело в настройках хостинга, я попробовал получить данные из другого сервера и все работает нормально. На проблемном хостинге помог файл: .htaccess со следующим содержимым: <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> <IfModule mod_headers.c> Header always set Access-Control-Allow-Origin "https://b.com" Header always set Access-Control-Allow-Methods "GET,POST,PATCH,PUT,DELETE,OPTIONS" Header always set Access-Control-Allow-Headers "*" Header always set Access-Control-Allow-Credentials "*" Header set Access-Control-Allow-Credentials true </IfModule> </IfModule> При этом аналогичные запросы из php файла пришлось убрать, итоговый код: PHP: <?php header('content-type: application/json'); echo '{"foo":"bar"}'; file_put_contents(__DIR__ . '/test_GET_data.txt', var_export($_GET, true)); file_put_contents(__DIR__ . '/test_POST_data.txt', var_export($_POST, true)); ?> JS: $(document).ready(function(){ $.ajax({ url: "https://b.com/", crossDomain: true, success: function( response ) { console.log(response); } }); });
  2. В общем следующий код на локальной машине отдает данные нормально: $(document).ready(function(){ $.ajax({ url: "http://b.com", crossDomain: true, success: function( response ) { console.log(response); } }); }); <?php header('content-type: application/json'); header('Access-Control-Allow-Origin: http://a.com'); echo '{"foo":"bar"}'; ?> То есть на локалке достаточно было убрать: dataType: "jsonp", однако на виртуальном хостинге этот код не работает, видимо блокировка идет где то на уровне настроек хостинга, интересно можно ли это решить средствами php или скажем путем добавления файла: .htaccess или тут без обращения в саппорт хостинга не обойтись?
  3. Приветствую форумчане. Такая проблема, пытаюсь выполнить ajax запрос, суть которого отправить некоторые данные с домена: a.com на b.com и соответственно получить ответ от b.com с целью дальнейшей его обработки в скрипте на a.com Оба домена находятся на OpenServer на локальной машине, то есть у меня есть контроль над http://b.com/ и я могу прописать в php файле необходимые настройки. Однако при попытке выполнить ajax запрос получаю ошибку: jquery-3.6.0.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://b.com/?callback=jQuery360001053556176974424_1630579545897&_=1630579545898 with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details. Аналогичную ситуацию имею на хостинге уже на реальных доменах. При этом данные c a.com на b.com в php скрипт все же попадают, однако, мне не удается добиться чтения ответа на домене a.com. Что характерно в сети есть по меньшей мере один домен с которого таки удается получить данные таким способом. Если вместо b.com подставить страницу: https://jsonplaceholder.typicode.com/todos/1 то в этом случае получаю ответ: {userId: 1, id: 1, title: "delectus aut autem", completed: false} Однако же добиться аналогичного эффекта на домене под собственным контролем я не могу. Пробовал в js указывать crossDomain: true, на стороне php пробовал указывать различные заголовки по типу: header('content-type: application/json'); и тому подобное... пробовал даже скопировать из браузера заголовки которые отдает сайт https://jsonplaceholder.typicode.com/todos/1 и подставить их в php файл через тот же header() однако ничего не выходит. Подскажите куда копать? Вопрос вроде плевый, но сколько не пытаюсь ничего не получается. Ниже код js: <script> //Первый вариант на jQuery: $(document).ready(function(){ $.ajax({ url: "http://b.com", crossDomain: true, dataType: "jsonp", success: function( response ) { console.log(response); } }); }); </script> <script> //Второй вариант на чистом js: function receiver(data){ console.log(data); } </script> <script src="http://b.com/?callback=receiver"></script> код php: <?php header('content-type: application/json'); header('Access-Control-Allow-Origin: http://a.com'); header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE'); echo '{"foo":"bar"}'; ?>
  4. В общем получается что для такого кода: document.addEventListener('DOMContentLoaded', function() { console.log('test DOMContentLoaded!!!'); document.qerySelector('#section-slideshow > .Slideshow > .Slideshow__Carousel > button.next').addEventListener('click', function (e) { console.log('test click!!!'); console.log(e); }); }); Первое сообщение: "test DOMContentLoaded!!!" - выводится, а при клике не кнопку второе: "test click!!!" - уже нет. Ну то есть событие клика этот код не отслеживает. Но повторюсь мне нужно не отследить событие клика, а именно вызвать его. Задача усложняется тем что эти кнопки: <button class="flickity-prev-next-button-222 previous" type="button" aria-label="previous"><svg viewBox="0 0 100 100"><path d="M 10,50 L 60,100 L 70,90 L 30,50 L 70,10 L 60,0 Z" class="arrow"></path></svg></button> они как бы создаются слайдером, возможно поэтому я не могу вызвать событие клика по ним к примеру тем же методом trigger для jQuery.
  5. Странно, выдает ошибку: (index):1080 Uncaught TypeError: Cannot read property 'addEventListener' of null at (index):1080 (index):1067 Uncaught TypeError: document.qerySelector is not a function at HTMLDocument.<anonymous> ((index):1067) Кроме того как я понимаю это код чтобы отследить событие клика? А мне нужно его вызвать, то есть с имитировать событие как будто пользователь кликнул на кнопку.
  6. Вопрос к знатокам JS. Пытаюсь вызвать событие клика на кнопку. Однако событие не происходит. Решил проверить правильно ли отобрал кнопку на странице для дальнейшей работы с ней В итоге вот такой код: var previousButton = document.querySelector('button.previous'); console.log(previousButton); Выдает в консоль буквально следующее: <button class="flickity-prev-next-button-222 previous" type="button" aria-label="previous"><svg viewBox="0 0 100 100"><path d="M 10,50 L 60,100 L 70,90 L 30,50 L 70,10 L 60,0 Z" class="arrow"></path></svg></button> И я вот тут что-то запутался. Он мне что вернул? Объект или строку с кодом? Если объект то подходит ли он для вызова события клика на него? При этом в документации указанно что метод document.querySelector() - возвращает ссылку на объект типа Element линк: https://developer.mozilla.org/ru/docs/Web/API/Document/querySelector Но почему тогда я вижу в консоли строку с исходным кодом?
  7. Здравствуйте. Я делал данную доработку для Scrin, API там как такового нет, данные парсяться с сайта европочты по крону раз в сутки, после этого на странице оформления заказа готовые данные подтягиваются уже из сайта заказчика. К симпле подключились небольшой модификацией в tpl файлах модуля. Если нужно могу вам сделать аналогичную реализацию. Пишите в ЛС.
  8. Приветствую. Если не найдете исполнителя который возьмется за задачу "целиком" то обращайтесь, могу выполнить интеграцию с внешними сервисами, а также почти все пункты за исключением разве что дизайна. А так советовал бы вам разбить ТЗ на отдельные логические части и искать исполнителя отдельно по каждой из них - быстрее найдете. Ведь тот кто хорошо может сделать дизайн не факт что разбирается в системном администрировании и наоборот.
  9. А точно, не сообразил)) Как говорит один мой друг: "Перекуп на перекупе сидит и перекупом погоняет".
  10. Спасибо. Как всегда очень поучительные кейсы. По второму кейсу интересно как "хайлоад" фирма не заметила что фиды выжирают память? Или их geo API сбил с толку?
  11. Да в 3-йке проблема осталась. Огромное спасибо за решение.
  12. Возможно вы правы, однако задача не состоит в том чтобы запретить поисковику обход страниц, а именно в том чтобы дублирующие страницы не появились в поиске, чтобы они не мешали продвижению основных страниц. Ноуиндекс здесь не совсем подходит так как на сколько я знаю работает он только лишь для Яндекса. Ну и кроме того решение о том каким именно образом закрывать страницы не всегда принимает разработчик, как правило есть заказчик, которому задачи могут ставить seo-шники.
  13. Забавно изначально стоит OCFilter но он как раз эту задачу и не решает, ну тесть не дает никакого признака по которому можно было бы закрыть страницу от индексации. или возможно я не нашел в настройках, но смотрел внимательно. Пока остановил свой выбор на: Там прямо в демке видно что есть признак в url для всех страниц фильтра.
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.