PHP 来自控制器的 html 变量绑定问题 ajax 响应

PHP variable binding issue with html from controller for ajax response

控制器:

$html = "";
$user_id = 10;
$by = 'By Aaron';
$getLedgerData = "getLedgerData('" . $user_id. "','" . $by . "')";
$html .= "<a onclick=" . $getLedgerData . "></a>"
print_r($html);die; //  result shows: getLedgerData('10','By Aaron')

当我将 $html 传递给 ajax 响应并从那里设置到受尊重的 HTML 标签时。看起来也会像上面的结果。但是当刷新 HTML 页面时,我可以看到下面的错误和 HTML 从 inspect element.

<a onclick="getLedgerData('10','By" 'Aaron')=""></a>
Uncaught SyntaxError: Invalid or unexpected token (at 0:1:35)

结果应该是这样的:

<a onclick="getLedgerData('10','By Aaron')"></a>

不知道为什么HTML把'By Arron'换成了'By" 'Arron'

您似乎没有在第 4 行中用引号引起来,改为在下面添加:

$html .= "<a onclick=\"" . $getLedgerData . "\"></a>";

此外,您可能还需要将此行更改为单引号:

$getLedgerData = 'getLedgerData(\'' . $user_id. '\',\'' . $by . '\')';