Это работает нормально, но если я изменю значение текста 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 .