ivan-lev

Рейтинг
435
Регистрация
20.04.2007
Sitealert:
Да вставляй сколько угодно. Где я написал про запрет вставлять?

Так и я про то же..

Sitealert:
Это защита от прямой вставки на чужой сайт линка на свой сайт.

от "прямой вставки линка" это не защитит.. =)

Sitealert:
. То есть ляпнул какую-то ерунду:

Зато тема (раздел/форум) активны.. 😂

iccup:
Можно ли переделать поиск на сайте для достижения скоростей как в админке?

Можно. 10 раз можно

---------- Добавлено 18.04.2020 в 12:25 ----------

Возможно, на клиенте дополнительно проверяются права доступа к материалу.. связанные таблицы дёргаются..

Смотреть, какие запросы выполняются, профилировать.. искать узкие места, переписывать / кэшировать, или пытаться средствами БД решить (индексы, настройка параметров БД).. или "железом" (в нужных комбинациях CPU, MEM, SSD / NVME)

t = {a:3, b:4, dd:5};
for (i in t) alert(' ' + i + ' / ' + t);

Или поискать подходящий в вариантах:

https://stackoverflow.com/questions/7241878/for-in-loops-in-javascript-key-value-pairs

Sitealert:
И в результате имеем килотонну говнокода.

Это может быть компактнее и быстрее (как в реализации, так и для пользователя), нежели попытка сгенерировать табличку на клиенте.. особенно с colspan-ами и rowspan-ами..

И да, зависит от ситуации.. и "килотонна" (лишний килобайт при обмене данными без перезагрузки страницы в пользу универсальности и скорости реализации решения) может быть вполне оправдана.

Dram:
console.log(prop); сообщает что есть элемент в названием Name - но туда ничего не выводится

Что в JSON.parse(msg) (а не в msg) есть этот элемент..

---------- Добавлено 18.04.2020 в 12:04 ----------

Dram:
И я к сожалению не знаю как сюда присобачить dataType: 'json',

https://api.jquery.com/jquery.post/

jQuery.post( url [, data ] [, success ] [, dataType ] )

Я вообще заметил, что в темах от Dram лучше не отвечать.. Он сам прекрасно найдёт все ответы на свои вопросы.. А так - приходится переписываться.. и рассказывать, что и почему не получается.. 😂

Dram:
for(prop in JSON.parse(msg)) {

Как-то так должно работать:

            function(msg) { // получен ответ сервера
result = JSON.parse(msg);
for(prop in result) {
$('#my_message'+prop).html(result.prop);
}
// $('#my_message').html(msg);
}
Dram:
for(prop in JSON.parse(msg)) {
$('#my_message'+prop).html(msg.prop);

У Вас in JSON.parse(msg)

а потом - попытка обратиться к msg.prop (не к результату выполнения json.parse)..

А вообще, в ajax есть возможность задать 'json' - он сам попробует разобрать ответ

https://stackoverflow.com/questions/8951810/how-to-parse-json-data-with-jquery-javascript

Sitealert:
Именно, что кажется. Ни к чему без необходимости постоянно пересылать кучу хтмл-кода, который можно просто написать на странице.

А тут можно холиварить долго..

К примеру, получение таблицы с данными по нужным фильтрам.. - заменяешь блок с таблицей (или саму таблицу) целиком и получаешь более-менее универсальное решение, завязанное только на код формирования таблицы.

А если в ячейках таблицы данные разнородные, да ещё и по количеству они могут измениться, то обработку придётся и на клиенте, и на сервере прикручивать.. а overhead на <tr><td> не намного больше, чем на {""}

Sitealert:
Это защита от прямой вставки на чужой сайт линка на свой сайт.

Как это поможет запретить "прямо вставлять" "линки"?.. 😂 (ох уж эта "размытость терминологии"). Беру линк и вставляю.

Если уж говорить о чём-то вроде "блокировке отображения изображений своего сайта на сторонних..", то при скачивании сайта целиком в реферер с лёгкостью помещается предыдущая страница этого же сайта (т.е. фактический реферер) и сообщения от Фергас вообще "не к месту"..

Можно:

а) возвращать PHP-скриптом HTML и, соответственно заменять блок целиком.

б) разобраться сколько всего переменных.. и каких.. и как они расставляются.. возможно, связать их имена|id-шники с селекторами и пробежаться циклом по получаемому JSON примерно так:

for(prop in data) {
$('#'+prop).html(data.prop);
}
Всего: 4907