Поэтому у меня есть сайт WordPress.org с плагином Really Simple SSL, и я бы хотел использовать ajax/JSON
для обновления базы данных.
Дело в том, что с помощью нашего друга @BadHorsie
здесь я смог определить, что плагин добавляет <!-- Really Simple SSL mixed content fixer active -->
после значения json_encode()
.
Это система закладок, поэтому есть только 1 кнопка. Когда он нажимается, он добавляет курс в базу данных, но если курс уже существует, он удаляет его.
Серверная сторона:
if($isFavorito) { echo json_encode(array("bookmark" => 1)); } else { echo json_encode(array("bookmark" => 0)); }
Сторона клиента:
<script> function addItemToUsersList(userId, type, itemId) { jQuery.ajax({ 'url': 'xxx', 'type': 'GET', 'dataType': 'json', 'data': {userid: userId, type: type, itemid: itemId}, 'success': function(data) { console.log('success'); }, 'beforeSend': function() { console.log('beforeSending'); }, 'error': function(jqXHR, status, error) { console.log(status); console.log(error); console.log(jqXHR.responseText); } }); } </script>
И он регистрирует:
beforeSending parsererror SyntaxError: Unexpected token < in JSON at position 14(…) {"bookmark":0}<!-- Really Simple SSL mixed content fixer active -->
PHP работает нормально, я тестировал его без ajax / json, и он добавляет / удаляет то, что я хочу в базе данных MySQL.
Я знаю, что это плагины, которые делают эту проблему, потому что я отключил плагин и success
console.log()
;
Как я могу заставить это работать правильно? Правильный путь или хакерский путь в порядке!
Может быть, способ обрезать {"bookmark":0}<!-- Really Simple SSL mixed content fixer active -->
to {"bookmark":0}
?
Ответ от автора плагина здесь: https://wordpress.org/support/topic/remove-really-simple-ssl-mixed-content-fixer-active-comment
In the class-frontend.php, search for the comment, and comment it out. That's all.