博客开发问题:提交的Post无法显示在首页News Feed中
问题分析与解决:博客帖子无法显示到首页News Feed
以下是代码中导致帖子无法展示的核心问题及修复方案:
1. 后端POST接口逻辑判断完全颠倒
post.js里的参数校验逻辑写反了:当前代码会在有内容提交时返回400错误,直接阻断了正常的帖子创建流程。
错误代码
if(req.body.content){ console.log("Content param not sent with request"); return res.sendStatus(400); }
修复后代码
if(!req.body.content){ // 添加!取反,判断内容是否为空 console.log("Content param not sent with request"); return res.sendStatus(400); }
2. 前端AJAX请求数据键名拼写错误
common.js中构造请求数据时,将content拼成了conent,导致后端req.body.content无法获取到提交的内容,进一步触发上面的错误判断。
错误代码
var data = { conent: textbox.val() }
修复后代码
var data = { content: textbox.val() // 修正拼写错误 }
3. 前端渲染时属性名拼写错误
createPostHtml函数中访问返回数据的属性时,同样把content拼成了conent,即便后端正常返回数据,前端也无法取出内容进行渲染。
错误代码
function createPostHtml(postData){ return postData.conent; }
修复后代码
function createPostHtml(postData){ return postData.content; // 修正拼写错误 }
4. 点击事件参数缺失(潜在隐患)
点击事件的箭头函数未接收event参数,直接使用event.target在严格模式下会报错,建议补充参数:
错误代码
$("#submitPostButton").click(() => { var button = $(event.target); ... })
修复后代码
$("#submitPostButton").click((event) => { // 显式接收event参数 var button = $(event.target); ... })
内容的提问来源于stack exchange,提问作者Mitchell
相关产品推荐
相关产品推荐

