我有一个 html 按钮,它有一个 onclick 方法,它触发了 ajax 发生的一些事情。但是,通过函数传递的变量在 php.ini 中。这是代码:
html/PHP
#Do not mind the first forward slash#
/<button type="submit"
name="follow_button"
onclick= <?php
echo "'follow_alert(" . $pdo . ", " . $_SESSION['user_id'] . ", " . $value['user_id'].");'"
?>
>Follow
</button>
两个变量 $_SESSION['user_id'] 和 $value['user_id'] 都通过了。我已经尝试了代码,它在没有 $pdo 的情况下也可以工作,但问题是我需要调用 $pdo 才能在我的 php 函数中访问它,该函数从我的 mysql 表中获取数据。
这是JS。
JS
function follow_alert(pdo, user_id, following_id) {
var ajax = ajaxRequest();
ajax.onreadystatechange = function() {
if (ajax.readyState === 4) {
alert(ajax.responseText);
};
};
ajax.open('GET', 'function.php?pdo='+pdo+'&user_id='+user_id+'&following_id='+following_id, true);
ajax.send(null);
};
我的问题是:我不断收到“可捕获的致命错误:PDO 类的对象无法转换为字符串”错误。当我在所有其他函数中将 $pdo 作为参数传递时,它们工作正常。问题似乎是我正在通过一个字符串传递它以运行 onclick(); 至少我是这么认为的。
有什么想法吗?整个上午我都在为这件事绞尽脑汁!