hblog开发手记之三:文章评论模块的Bug
<div class="artbox"><p>第一稿正常工作,后面要在文章阅读页面剥离非登录与登录状态,需要重写部分代码,过程中某个环节草率了,封装JS函数的机制里,一个乃至两个参数的传递不正常,导致后端程序找不到库资源、拿不到正确的数据索引。</p>
<p>剥离登录与非登录状态必须得有。实现剥离功能通过PHP做判断,以博主登录状态决定在阅读页面中提供哪些JS函数。修改时使用 NOWDOC 将第一稿的回复评论函数简单包装一下,类似下面的代码:</p>
<div id="hEdiv1"><pre id="hEpre1">
echo <<<'EOF'
// 回复留言函数
const replyComment = () => {
//... 这里收集数据、提交、等待后端处理结果
}
EOF;
</pre></div>
<p>JS函数 replyComment() 要向后端发起请求,需要传递的参数主要有文章索引、评论索引、回复评论内容,姑且分别记作 art_idx、cmm_idx 和 rely_content,reply_content 没问题,主要是前两个索引参数,第一稿的代码是这样拿到的:</p>
<div id="hEdiv2"><pre id="hEpre2">
//JS代码中插入PHP代码
art_idx = <?php echo $art_idx; ?>
cmm_idx = <?php echo $cmm_idx; ?>
</pre></div>
<p>因为PHP有这些变量,JS函数又是独立的,所以上面的代码完全没有任何问题。而用 NOWDOC 封装JS函数代码后,上面的两行语句就不能正常工作了,所以传递给后端程序的数据不完整。</p>
<p>修改方法:在 <<<'EOF' 之前插入JS变量:</p>
<div id="hEdiv3"><pre id="hEpre3">
echo "const art_idx = '" . $art_idx . "';";
echo "const cmm_idx = '" . $cmm_idx . "';";
echo <<<'EOF'
// 回复留言函数
const replyComment = () => {
//... 这里收集数据、提交、等待后端处理结果
//... 提交文章索引、评论索引参数直接就是JS变量 art_idx 和 cmm_idx
}
EOF;
</pre></div>
<p>大概就是这样,目前问题已得到处理。</p>
</div>
<script type="module">
import hlight from 'https://638183.freep.cn/638183/web/helight/helight1.js';
hlight.hl(hEdiv1, hEpre1);
hlight.hl(hEdiv2, hEpre2);
hlight.hl(hEdiv3, hEpre3);
</script>
<style>
.artbox > p { margin: 10px 0; font-size: 18px; ?
</style> {:4_190:} 是因为这些变量能直接用,而使用 NOWDOC 封装JS函数代码后,不能直接用的缘故吧。
看黑黑说一直找到最后才找到问题所在,真不容易呢{:4_187:} 红影 发表于 2025-4-22 21:00
是因为这些变量能直接用,而使用 NOWDOC 封装JS函数代码后,不能直接用的缘故吧。
看黑黑说一直找到最后才 ...
直接用不了,因为一切依靠PHP控制,是PHP生成的这些函数 樵歌 发表于 2025-4-22 20:26
谢茶 实用主义者说,现在全部都好了。。
评论正常,博主回复正常,不再 占上一条。。完美{:4_173:} 至于怎么做到的,感觉有点烧脑。。回头找空系统细看。。 马黑黑 发表于 2025-4-22 21:22
直接用不了,因为一切依靠PHP控制,是PHP生成的这些函数
嗯嗯,知道了。学习{:4_187:} 红影 发表于 2025-4-22 22:11
嗯嗯,知道了。学习
一切都有上下文,什么样的环境怎么做,都有一定规则 花飞飞 发表于 2025-4-22 22:06
实用主义者说,现在全部都好了。。
评论正常,博主回复正常,不再 占上一条。。完美
原先出错的数据,需要手动处理一下:一个评论信息占一行,这个容易看出来的,看头像,自动折行的多喵一眼。库数据最后一行是空行,其他地方的不得有空行。 马黑黑 发表于 2025-4-22 23:00
一切都有上下文,什么样的环境怎么做,都有一定规则
这和现实里做事也是一样的,不是按部就班地来,就经常容易出问题。 红影 发表于 2025-4-23 22:36
这和现实里做事也是一样的,不是按部就班地来,就经常容易出问题。
入乡随俗 马黑黑 发表于 2025-4-24 19:05
入乡随俗
嗯嗯,这是必须的。 红影 发表于 2025-4-24 23:33
嗯嗯,这是必须的。
同意盖章 马黑黑 发表于 2025-4-25 20:15
同意盖章
这样的章子很有含金量{:4_173:} 红影 发表于 2025-4-25 21:39
这样的章子很有含金量
对,可以只拿利息就能做到财务自由 马黑黑 发表于 2025-4-26 08:38
对,可以只拿利息就能做到财务自由
含金量这么高啊,真是好东西{:4_173:} 红影 发表于 2025-4-26 14:07
含金量这么高啊,真是好东西
;那是绝对的 马黑黑 发表于 2025-4-26 23:21
;那是绝对的
可惜拿了高含金量的东西,还没财富自由啊{:4_173:} 红影 发表于 2025-4-26 23:40
可惜拿了高含金量的东西,还没财富自由啊
财富不自由没关系,财务自由就好
页:
[1]
2