gpt4 book ai didi

javascript - 将 php 输出到 javascript 时出现语法错误

转载 作者:行者123 更新时间:2023-12-03 07:03:30 25 4
gpt4 key购买 nike

这是有效的,毕竟这是一个语法错误,但我想知道如何才能做到这一点以使语法正确。

下面的代码是准备在 Ajax 调用上发送的变量的脚本的一部分,因此根据范围,应将相应的变量传递给 Ajax。

从 javascript 的 Angular 来看,问题似乎是只定义了每个作用域的 php 变量。

我认为如果不满足 else if 条件,它根本不会尝试解析,但显然情况并非如此。 php 变量 $scope 始终被定义。

Firebug 和 Chrome 开发者工具都会抛出错误:

                    var scope_var = <br />
<b>Notice</b>: Undefined variable: brand in <b>/Applications/MAMP/htdocs/my_site/my_script.php</b> on line <b>1049</b><br />null;

谢谢

        var scope = <?php echo json_encode($scope) ;?>;
if (scope == 'all') {var scope_var = 'all';}
else if (scope == 'brands') {var scope_var = <?php echo json_encode($brand) ;?>;}
else if (scope == 'cities') {var scope_var = <?php echo json_encode($city) ;?>;}
else if (scope == 'models') {var scope_var = <?php echo json_encode($model) ;?>;}
else if (scope == 'prange') {var scope_var = <?php echo json_encode($used_prange_low) . '|' . json_encode($used_prange_high) ;?>;}

最佳答案

从代码的外观来看,您期望从 PHP 输出到 JS 的值以字符串形式接收。如果是这种情况,您需要将所有 PHP 语句用引号引起来。试试这个:

var scope = '<?php echo json_encode($scope); ?>';
if (scope == 'all') {
var scope_var = 'all';
} else if (scope == 'brands') {
var scope_var = '<?php echo json_encode($brand); ?>';
} else if (scope == 'cities') {
var scope_var = '<?php echo json_encode($city); ?>';
} else if (scope == 'models') {
var scope_var = '<?php echo json_encode($model); ?>';
} else if (scope == 'prange') {
var scope_var = '<?php echo json_encode($used_prange_low) . ' | ' . json_encode($used_prange_high); ?>';
}

另请注意,switch 语句可能比多个 else if 条件更适合您的需求。

关于javascript - 将 php 输出到 javascript 时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36926424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com