Javascript 将Php字符串传递给AngularJS会导致解析错误

Javascript 将Php字符串传递给AngularJS会导致解析错误,javascript,php,angularjs,Javascript,Php,Angularjs,如果我将一个php字符串传递给Angular JS,则会出现以下错误: 错误:[$parse:lexerr]Lexer错误:表达式中第54-54[]列出现意外的下一个字符 我试图将字符串传递到angular以显示对话框: <md-button class="md-primary md-raised" ng-click="showAlert($event, '<?php echo htmlspecialchars($list['Shipment']['notes']) ;?>',

如果我将一个php字符串传递给Angular JS,则会出现以下错误:

错误:[$parse:lexerr]Lexer错误:表达式中第54-54[]列出现意外的下一个字符

我试图将字符串传递到angular以显示对话框:

<md-button class="md-primary md-raised" ng-click="showAlert($event, '<?php echo htmlspecialchars($list['Shipment']['notes']) ;?>', 'Notes')" flex="" flex-md="100" md-theme="cyan">

有没有办法绕过这个错误?

你想要的不是很好,但要做到:

<?= '<md-button class="md-primary md-raised" ng-click="showAlert($event, \'' . htmlspecialchars($list['Shipment']['notes']) . '\', \'Notes\')" flex="" flex-md="100" md-theme="cyan">'; ?>

答案是用php函数addslashes作为字符串的前缀


要知道,字符串的结尾是'shipping'$事件来自angularjs,不是吗?正确。但解决方案是在字符串前面加上php函数addslashes。