ошибка при использовании одинарной кавычки в значении и происходит, когда ни одна кавычка не используется в datatable - PullRequest
0 голосов
/ 15 ноября 2018

я пытаюсь вызвать файл, используя ajax, используя следующий код

var text = '<?php echo urlencode("hello world"); ?>';

var dataTable = $("#datatable-pan").DataTable({
  "ordering": false,
  "searching": false,
  "bProcessing": true,
  "serverSide": true,
  "ajax":{
    url :'my_response.php?text='+text, // json datasource
    type: "POST",  // type of method  ,GET/POST/DELETE
    error: function(){
      $("#employee_grid_processing").css("display","none");
    }
  },
});

Это прекрасно работает, но если я изменю значение текста var на

var text = '<?php echo urlencode("hello 'world'"); ?>';

не продолжается и не вызывает файл это показывает что-то вроде ошибки xhr

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Это работает нормально, но если я изменю значение текста var на

var text = '<?php echo urlencode("hello 'world'"); ?>';

это не происходит и не вызывает файл, это показывает что-то вроде ошибки xhr

это не может работать таким образом. поскольку ваш php-скрипт заключен в одинарные кавычки, следующая одинарная кавычка, которая будет найдена в операторе, будет считаться концом инструкции, а все остальные символы будут рассматриваться как неожиданные и, хотя могут выдать SyntaxError.

Если world является переменной и вы хотите отобразить ее значение, вы можете сделать это:

var text = '<?php echo urlencode("hello $world"); ?>';

или var text = '<?php echo urlencode("hello ".$world); ?>';

И это будет работать с использованием php внутри скрипта javascript. Вы также можете избежать кавычек, используя \ таким образом:

var text = '<?php echo urlencode("hello \'world\'"); ?>'; здесь одинарные кавычки будут рассматриваться как часть строки для кодирования, а не limiters .

0 голосов
/ 15 ноября 2018

JS:

var text = encodeURIComponent('<?php echo urlencode("hello world"); ?>');

PHP:

$code = urldecode( $_POST['text']);

Последняя строка:

var text = '<?php echo urlencode("hello \'world\'"); ?>';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...