4

我将 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。

任何人都可以帮忙吗?

4

3 回答 3

2

你的 JS 代码:

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

$values1如果您的一个或多个 PHP 变量或$values2其中包含单引号,则会给出 Javascript 语法错误'

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

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

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

于 2012-10-16T10:05:21.217 回答
0

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

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

然后,我建议您使用对象作为dataAjax 请求的参数:

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

此外,最好'$values1$values2变量中转义单引号。

于 2012-10-16T10:05:11.240 回答
-1

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

于 2012-10-16T10:07:26.120 回答