请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第一稿正常工作,后面要在文章阅读页面剥离非登录与登录状态,需要重写部分代码,过程中某个环节草率了,封装JS函数的机制里,一个乃至两个参数的传递不正常,导致后端程序找不到库资源、拿不到正确的数据索引。
剥离登录与非登录状态必须得有。实现剥离功能通过PHP做判断,以博主登录状态决定在阅读页面中提供哪些JS函数。修改时使用 NOWDOC 将第一稿的回复评论函数简单包装一下,类似下面的代码:
echo <<<'EOF'
// 回复留言函数
const replyComment = () => {
//... 这里收集数据、提交、等待后端处理结果
}
EOF;
JS函数 replyComment() 要向后端发起请求,需要传递的参数主要有文章索引、评论索引、回复评论内容,姑且分别记作 art_idx、cmm_idx 和 rely_content,reply_content 没问题,主要是前两个索引参数,第一稿的代码是这样拿到的:
//JS代码中插入PHP代码
art_idx = <?php echo $art_idx; ?>
cmm_idx = <?php echo $cmm_idx; ?>
因为PHP有这些变量,JS函数又是独立的,所以上面的代码完全没有任何问题。而用 NOWDOC 封装JS函数代码后,上面的两行语句就不能正常工作了,所以传递给后端程序的数据不完整。
修改方法:在 <<<'EOF' 之前插入JS变量:
echo "const art_idx = '" . $art_idx . "';";
echo "const cmm_idx = '" . $cmm_idx . "';";
echo <<<'EOF'
// 回复留言函数
const replyComment = () => {
//... 这里收集数据、提交、等待后端处理结果
//... 提交文章索引、评论索引参数直接就是JS变量 art_idx 和 cmm_idx
}
EOF;
大概就是这样,目前问题已得到处理。
|