You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CS50W Network项目分页实现后Fetch请求报404错误求助

排查CS50W Network项目分页后404错误的可能原因
  • URL末尾斜杠不匹配:你的Fetch请求路径末尾带了斜杠(/get_post/${username}/?page=${page}&per_page=${itemsPerPage}),但Django路由配置是path("get_post/<str:username>", views.get_post, name="all_posts"),没有包含末尾斜杠。Django默认只会匹配路径完全一致的路由,带斜杠的请求找不到对应规则就会触发404。可以把Fetch请求路径改成不带末尾斜杠:/get_post/${username}?page=${page}&per_page=${itemsPerPage},或者在路由规则里加上斜杠:path("get_post/<str:username>/", views.get_post, name="all_posts")。

  • 路由顺序冲突:检查Django URLconf中,这条get_post/<str:username>路由是否被更靠前的其他路由拦截。比如如果存在path("get_post/all", ...)这类特定路由且放在动态参数路由前面,请求/get_post/all时会优先匹配特定路由,若该路由对应的视图未正确处理,也会导致404。确保动态参数路由在特定路由之后,避免被提前拦截。

  • 相对路径错误:确认Fetch请求使用的是绝对路径(以/开头)。如果当前页面URL是类似/profile/的路径,用相对路径get_post/${username}/...会拼接成/profile/get_post/${username}/...,和路由配置不符引发404。必须保证请求路径以/开头,和路由的根路径保持一致。

  • 路由或视图配置失误:检查views.get_post函数是否存在且拼写正确,确认项目主URLconf是否通过include正确引入了该子路由。若路由所在的app未在INSTALLED_APPS中注册,也可能导致路由无法被识别。

另外,建议打开浏览器开发者工具的Network标签,查看实际发送的请求URL,确认路径是否和预期一致,这能快速定位路径类问题。

内容的提问来源于stack exchange,提问作者Louis Eiden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:42:20