Intereting Posts
Восстановить svn trunk моего репозитория плагина до исходного состояния? Запрос последних изображений в нескольких сообщениях Как добавить категорию к постоянной ссылке и панировке? У меня есть таблица, которую я создал, как я могу сделать форму для фильтрации данных? Веб-сайт WordPress не показывает изменения без очистки кеша Смешивание пользовательских типов сообщений и шаблонов страниц в WordPress 3.7.1 SlideDeck 2, сделать back-end видимым только для администраторов как получить код аутентификации с моего сайта для сравнения Подождите, пока результат не появится Добавить меню пользовательских списков на странице «Объявления» в панели администратора Автоматически переходить на первую страницу в иерархии? WP 3.1 пользовательские типа post permlinks поиск по запросу пользовательского поля Функция заголовка не работает. Проблема с bloginfo () Загружается с сайта на сервере A, загруженном на сервер B (вроде рода CDN)

Ошибка AJAX после актуализации

У меня простая форма, где пользователь может установить некоторое числовое значение и добавить комментарий. Затем он отправляется в базу данных через вызов AJAX.

Таким образом, у меня есть два входа: цифровой слайдер (текстовое поле) и текстовое поле для комментариев (и, конечно, кнопка отправки).

Мой JavaScript, который вызывает Ajax после нажатия кнопки, выглядит так:

jQuery("button.ocen").click(function(event){ var dok = jQuery(this).parent().find("input#dok").val(); // this is always integer var comment = jQuery(this).parent().find("#komentarz").val(); // this is string var data = { action: 'ocen', dok: dok, comment: comment }; var jqxhr = jQuery.post("http://mydomain/wp-admin/admin-ajax.php", data, function(response){ }).done(function(response){ jQuery(".odpowiedz").html(response); setTimeout(function(){location.reload();}, 1500); }); event.preventDefault(); }); 

Я использовал этот метод в течение примерно 7 месяцев. Но в последнее время после одной из реализаций wordpress он прекратил работать правильно: если я задаю только числовое значение, он будет правильно сохранен в базе данных, но если я добавлю комментарий, страница будет перезагружена, но ничего не будет сохранено в DB ,

Что может быть не так?

EDIT: код php:

 function ajax_ocen() { extract($_POST); global $wpdb; $wpdb->show_errors; if(!isset($comment)) $comment = ""; $q = "INSERT INTO my_table(date, dok, comment) VALUES(NOW(), $dok, '$comment')"; $res = $wpdb->query($q); if($res) echo "<div class='success'>Added</div>"; $wpdb->show_errors; exit(); } 

РЕДАКТИРОВАТЬ:

Хорошо, я узнал, что комментарий не сохраняется, если он содержит специальные символы, специфичные для языка. Как я могу убежать / преобразовать этих указчиков, чтобы их правильно сохранить в БД?

Solutions Collecting From Web of "Ошибка AJAX после актуализации"

Хорошо, я узнал, что моя кодировка DB была LATIN2 а wordpress принудительно UTF-8 во всех вызовах после обновления.

Когда я изменил кодировку базы данных на UTF-8 все это начало работать. Я также использовал:

 $comment = mb_convert_encoding($comment, "UTF-8"); 

просто быть shure.