reactjs - 为什么我的 POST 请求会导致 404 错误?
问题描述
我一直在努力从我的反应应用程序向我的 Django 休息框架 api 提交一个发布请求:继续收到此错误:
404 未找到 无法 POST /api/tokens/
我正在使用 redux 来处理状态并将数据发布到我的 django api 上运行localhost:8000
:
export const addToken = (company_name, name, address, supply, holders) => {
return dispatch => {
let headers = {"Content-Type": "application/json"};
let body = JSON.stringify({company_name, name, address, supply, holders,});
debugger
return fetch("/api/tokens/", {headers, method: "POST", body})
.then(res => res.json())
.then(token => {
return dispatch({
type: 'ADD_TOKEN',
token
})
})
}
}
在 webpack.donf.dev.js 中:
const publicPath = 'http://localhost:3000/';
const publicUrl = 'http://localhost:3000/';
这是我的 url.py:
from contract import endpoints
urlpatterns = [
url(r'^api/', include(endpoints)),
path('admin/', admin.site.urls),
url(r'^api-auth/', include('rest_framework.urls')),
url(r'^', TemplateView.as_view(template_name="index.html")),
]
和端点.py
from contract import views
from .api import TokenViewSet
router = routers.DefaultRouter()
router.register('tokens', TokenViewSet, 'tokens')
urlpatterns = [
url("^", include(router.urls)),
path('tokens/', views.TokenList.as_view()),
path('tokens/<int:pk>/', views.TokenDetail.as_view()),
path('users/', views.UserList.as_view()),
path('users/<int:pk>/', views.UserDetail.as_view()),
]
不确定这是否足够信息,因为我对 React.js 很陌生
更新
这是我的settings.py
WEBPACK_LOADER = {
'DEFAULT': {
'BUNDLE_DIR_NAME': 'bundles/',
'STATS_FILE': os.path.join(BASE_DIR, 'webpack-stats.dev.json'),
}
}
然后是 webpack-stats-dev.json:
{"status":"done","publicPath":"http://localhost:3000/","chunks":{"main":[{"name":"static/js/bundle.js","publicPath":"http://localhost:3000/static/js/bundle.js","path":"/Users/cyrusghazanfar/Desktop/python-projects/smart-contract-distributor/vestvault/web_interface/dist/static/js/bundle.js"},{"name":"main.d66a743648ca15de12df.hot-update.js","publicPath":"http://localhost:3000/main.d66a743648ca15de12df.hot-update.js","path":"/Users/cyrusghazanfar/Desktop/python-projects/smart-contract-distributor/vestvault/web_interface/dist/main.d66a743648ca15de12df.hot-update.js"},{"name":"static/js/bundle.js.map","publicPath":"http://localhost:3000/static/js/bundle.js.map","path":"/Users/cyrusghazanfar/Desktop/python-projects/smart-contract-distributor/vestvault/web_interface/dist/static/js/bundle.js.map"},{"name":"main.d66a743648ca15de12df.hot-update.js.map","publicPath":"http://localhost:3000/main.d66a743648ca15de12df.hot-update.js.map","path":"/Users/cyrusghazanfar/Desktop/python-projects/smart-contract-distributor/vestvault/web_interface/dist/main.d66a743648ca15de12df.hot-update.js.map"}]}}
解决方案
推荐阅读
- firebase - Firebase 模拟器简短错误信息
- python - 节拍:连接错误:从套接字读取时出错:(104,“对等连接重置”)
- visual-studio-code - VS Code 在启动时崩溃
- javascript - 如何在 node-imap 中获取新邮件消息的数据
- java - 在属性中存储列表的规范方法
- python - 自动从 s3 下载文件到本地
- javascript - 将谷歌表格导出为PDF时如何分页
- java - 返回对象的 JAX-WS 注释是什么
- c++ - const std::vector 有什么用?
- css - 如何使用 CSS 覆盖使用 Elementor 的幻灯片中不同图像的不同背景位置