"You need to enable JavaScript to run this app";响应是 html 而不是 json
"You need to enable JavaScript to run this app"; response is html instead of json
使用的技术:Django、Djoser、react.js、webpack
我在 react.js 中提出了请求:
const config = {
headers: {
"Content-Type": "application/json",
},
};
const body = JSON.stringify({
email,
first_name,
last_name,
password,
re_password,
});
const response = await axios.post(
`http://127.0.0.1:8000/auth/users/`,
body,
config
)
我在后端使用 Djoser 来处理身份验证请求。
我 console.log 响应,发现响应是 html 而不是 JSON。状态是 200,但根据 Djoser 的文档应该是 HTTP_201_CREATED
。
我检查过 Djoser 在 Django 中 INSTALLED_APPS
并且我有 djoser==2.1.0
。
我尝试在 package.json 中添加 "proxy": "http://127.0.0.1:8000",
,但不起作用。我也尝试使用 fetch 而不是 axios,也没有用。我不确定问题出在哪里。
我想通了。
状态代码已连线,看起来没有调用 Djoser 端点。
我发现在我的config.urls
(后端)中我有
urlpatterns = [
path('', include('frontend.urls')),
path('auth/', include('djoser.urls')),
path('auth/', include('djoser.urls.jwt'))
]
因此 auth/
端点将通过 frontend.urls 而不是 Djoser。
我改成后
urlpatterns = [
path('auth/', include('djoser.urls')),
path('auth/', include('djoser.urls.jwt')),
path('', include('frontend.urls')),
]
有效。
使用的技术:Django、Djoser、react.js、webpack
我在 react.js 中提出了请求:
const config = {
headers: {
"Content-Type": "application/json",
},
};
const body = JSON.stringify({
email,
first_name,
last_name,
password,
re_password,
});
const response = await axios.post(
`http://127.0.0.1:8000/auth/users/`,
body,
config
)
我在后端使用 Djoser 来处理身份验证请求。
我 console.log 响应,发现响应是 html 而不是 JSON。状态是 200,但根据 Djoser 的文档应该是 HTTP_201_CREATED
。
我检查过 Djoser 在 Django 中 INSTALLED_APPS
并且我有 djoser==2.1.0
。
我尝试在 package.json 中添加 "proxy": "http://127.0.0.1:8000",
,但不起作用。我也尝试使用 fetch 而不是 axios,也没有用。我不确定问题出在哪里。
我想通了。
状态代码已连线,看起来没有调用 Djoser 端点。
我发现在我的config.urls
(后端)中我有
urlpatterns = [
path('', include('frontend.urls')),
path('auth/', include('djoser.urls')),
path('auth/', include('djoser.urls.jwt'))
]
因此 auth/
端点将通过 frontend.urls 而不是 Djoser。
我改成后
urlpatterns = [
path('auth/', include('djoser.urls')),
path('auth/', include('djoser.urls.jwt')),
path('', include('frontend.urls')),
]
有效。