繁体   English   中英

将PHP字符串传递给JavaScript:未终止的字符串文字

[英]passing PHP string to JavaScript: unterminated string literal

我正在将PHP var分配给我的javascript var并通过ajax-jQuery发送到PHP文件,但我的php变量包含换行符,我已经用<br>替换了

e.g.            $values1 = 'abc<br>pqr<br>xyz';  $values2 = 'xyz<br>lmn';
javascript -    var data = 'val1=<?php echo $values; ?>&val2=<?php echo $values2; ?>';

然后ajax脚本将数据发布到PHP文件

但是当我在控制台上打印这个数据时它给了我错误 - SyntaxError:unterminated string literal。

有人可以帮忙吗?

你的JS代码:

var data = 'val1=<?php echo $values1; ?>&val2=<?php echo $values2; ?>';

会给JavaScript语法错误,如果一个或多个你的PHP变量$values1$values2包含单引号'在其中。

通过将所有单引号替换为其他内容,确保您的PHP变量中不包含单引号,否则使用双引号"创建JS var,如下所示:

var data = "val1=<?php echo $values1; ?>&val2=<?php echo $values2; ?>";

提供的PHP变量不包含双引号。

首先,你有一个错字,可能会导致错误:

// --------------------------------v
var data = 'val1=<?php echo $values1; ?>&val2=<?php echo $values2; ?>';

然后,我建议你使用object作为Ajax请求的data参数:

var data = {
    val1: '<?php echo $values1; ?>',
    val2: '<?php echo $values2; ?>'
};

此外,它是更好地逃避单引号'两个$values1$values2变量。

尝试使用<br />而不是<br> 只是在这里猜测,没有测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM