javascript - 在 php echo 中将 php 变量和符号连接到 javascript 函数

标签 javascript php

我终于得到了要传递给 javascript 函数的 php 变量,但它们作为多个传递并收到警告。

使用未定义的常量 app_name - 假定为“app_name”

如何定义变量?

 echo('<li> <a href="#" onClick="runthis(\''.str_replace("'", "\\'", $row[activity]).'\',\''.str_replace("'", "\\'", $row[app_name]).'\');">');

Javascript

function runthis(activity) {
    alert(activity);
    //$('#live-area').load('../assets/php/multibox.php?id=' + activity);
}

我正在尝试将 $row[activity] 和 $row[app_name] 与/连接起来 我的 php 在/上爆炸并破坏了变量

更新

这是我对数据所做的事情。

if (isset($_GET['id'])) {
    $app = $_GET['id'];
    $array2 = explode('/', $app);
    $activity = $array2[0];
    $app_name = $array2[1];
    $SQL1 .= "WHERE activity = '$activity' ";
} 

我认为我没有正确处理该字符串。

这应该是什么样子?

我将 echo onClick 更新为此

echo ('<li> <a href="#" onClick="runthis(\'' . $row['activity'] . '/' . $row['app_name'] . '\')">');

它正确地传递给 JavaScript,但是当 $_GET 加载它时我没有得到任何结果

最佳答案

您正在将 PHP 输出转储到 Javascript 上下文中。使用 json_encode() 正确执行此操作:

echo '<li>..... ', json_encode($row['activity']), '</li>';

就目前而言,您的数组键没有被引用,这可能会导致 PHP 发出各种警告,并且这些警告将在您的 JS 代码中输出,从而导致语法错误。

json_encode() 将为您处理所有必要的引用/转义。它也将比你想出的令人厌恶的东西更具可读性/可维护性。

<小时/>

评论后续内容,分为 3 行,以便于阅读:

echo  '<li> <a href="#" onClick="runthis(';
echo json_encode("{$row['activity']}/{$row['app_name']}");
echo ')">';

关于javascript - 在 php echo 中将 php 变量和符号连接到 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793203/

相关文章:

php - 在 PHP 中重构嵌套 MySQL 事务

php - 如果使用得当,htmlspecialchars 是否足以抵御所有 XSS?

javascript - 使用 PHP 检测用户的 Web 浏览器并要求使用以下命令打开它

php - Kohana ORM 在选择时更改时区

javascript - ADA - 计算 2 <ul> 中 <li> 的数量(Angular 5)

javascript - XSS(跨站脚本)与 HTML 注入(inject)

javascript - 在没有 redux 的情况下对 e.target.value 以外的其他内容使用react onClick 状态更改

javascript - 要求 express 不止一次会产生开销吗?

未找到 PHP fatal error 类

javascript - Sails.js 查找记录并将结果存储到 var