Как передать строку с спецсимволами через ajax в DRUPAL8?

Вс, 16/07/2017 - 14:18

Вызываю php-функцию? Которая связана с клиентской частью через routing.
Соответсвенно, в js это выглядит так:

$.ajax({
          url: '/AddComment/' + msg + '/' + drupalSettings.path.currentLanguage,
          success: function (data) {
          if (data == 0) {
            // отзыв добавлен
            alert('Success!');
          } else {
            alert('Error!');
          }
          },
          dataType: 'json',
          cache: false,
          async: false
        });

msg теоретически может содержать символы "/", "\" и т.п.. Естественно, вылетает в ошибку. Как передать строку, чтобы вызов проходил без ошибок?

0 Спасибо

Комментарии

Аватар пользователя BatKor
1 неделя 2 дня назад BatKor #

Вариант
Создавайте обычный роутинг
Пример
AddComment

В JS пишите

 
$.get(
              Drupal.settings.basePath + "AddComment",
              {
                msg: msg,
              },
              add_new_comment
            );

function add_new_comment(data) {
 if(data){
console.log('Nice, you add comment')
}
}

В функции обратного вызова проверяйте гет или пост параметры.

<?php
if (isset($_GET['msg'])) {
Выполняем то что надо
...
Return 
true
}
?>

Но так вы делаете , будет немного, по ммм... китайски? Или по индусски.

0 Спасибо