Если кликнуть по кнопке, значение атрибута изменится
как Вы это определили?
Добавьте отладку:
function (r) {
console.log('new value for blocked: ', r);
container.data('blocked', r);
console.log('new value of blocked: ', container.data('blocked') );
}
Сергей Кореневский, сходил в ту ветку, почитал. Вы только к концу обсуждения обнаружили, что Вам фича недоступна в продуктовой среде. Это уже о чём-то говорит.
Далее, Вы тут задаётесь вопросом "для чего эту фичу добавили в MySQL?". Отвечаю: для галочки. Работа с JSON появилась у основного конкурента, PostgreSQL, поэтому надо было сделать хоть что-то на эту тему. А в PostgreSQL оно появилось на волне хайпа вокруг MongoDB.
Это как поддержка регулярок - долгие годы не видел в MySQL практической пользы от того, что было. Сейчас глянул в мануал 8 версии - стало получше.
Сергей Кореневский, тут нюанс в контексте, который виден из вопроса. Допустим, есть какая-то технология с узким применением, или не самая удачная. Приходит человек с вопросом, и по тексту видно, что он в этой технологии новичок, применяет её неправильно, и корень его проблем - именно в непонимании технологии. Тогда самый подходящий ответ для этого человека: "не используй это". Объяснение "почему не надо" - либо громоздкое, либо основано на опыте.
Возможно, это видение ошибочно ( может, человек плохо выражает мысли) - но это в любом случае не проблема читающих.
А когда человек давно в теме, то вопросы он задаёт другие. Поэтому и отвечают ему иначе.
Сергей Кореневский, думаю, чтобы поставить точку в этом споре, нужно сделать бенчмарк и смотреть на результаты. Ваш вариант кода я скопировал отсюда, тестовые данные можно подобрать по смыслу. Надеюсь, в ближайший месяц у меня найдётся время, чтобы сделать этот бенчмарк. ( на Хабре были статьи, как правильно писать бенчмарки, надо перечитать).
Сразу предупрежу, что если мой код будет медленнее на считанные проценты, но читабельнее в разы, то буду считать, что победа моя. Потому что даже если реальный скрипт работает минуту, то даже 10% - это 6 секунд, ни о чём. А вот если там 25% и больше - то да, микрооптимизации имеют смысл.
ThunderCat, так это плохое соглашение. Берите хорошее соглашение "использовать prepared statements" и пользуйтесь :)
Вот Вам мой пример соглашения: "при вводе от пользователя допустимы только целые неотрицательные числа". При обработке ввода он кастуется к числу, и всё, дальше эскейпить ничего не надо.
Пример соглашения, близкого к теме топик-стартера: "В переменной $_LNG['NAME'] может быть 'ru', 'en'', 'ua'. Значение берётся из файла конфигурации.". Зачем его эскейпить?
Denis Adamov, в дубле вопроса Вы показывали полный код метода, и там видно, что отладочный вывод переменных делали где-то в другом месте. Сделайте именно в одной точке и посмотрите результат ещё раз:
Ипатьев, при чём тут Даннинг с Крюгером? Есть соглашения о том, где какие данные могут быть. Если соглашений нет - их надо выработать. И жизнь станет проще.
А в нём он увидит что мол не фиг парится дисериализуй обратно вобъекты меняй значения а потом обратно сериализуй.
Так и есть. Париться на пустом месте незачем.
И отмечу, что Вы опять фантазируете о десериализации, которой в моих примерах нет и не было. Это начинает немного раздражать.
Vova135798, имхо, вначале правильно было, смотрите:
var jsonData = getCategories().then(value => {
return value;
});
функция getCategories() помечена как async , поэтому исполнение функции остановилось на строке : let data = await response.json();
и был возвращён промис, чтобы основной код пошёл исполняться дальше. То, что Вы хотели сделать с jsonData , нужно поместить ниже показанной мной строчки, или вникать в промисы.
Ace_Viral, Вы снова сделали ту же самую ошибку: тестовые данные - картинкой. Любой, кто пожелал бы Вам помочь, должен был сделать следующее:
1) взять токен ( судя по картинке, начинается на "ey...." )
2) взять хэш токена ( судя по картинке, начинается на "$2y.." )
3) запихнуть это в Yii и убедиться, что хэш получается таким же
4) запихнуть это в предложенный код и поискать ошибку.
Никто забесплатно не будет ломать глаза и разглядывать, что там за символы нарисованы на скриншоте ( меня хватило на три символа, и то ради точности объяснения).