【发布时间】:2019-07-16 12:59:56
【问题描述】:
当在“body”部分填写适当的参数时,对 Django Rest API 框架的发布请求通过 Postman 工作。但同样不适用于以下 JavaScript 代码:
var data = {emp_id:50,emp_name:'test',password:'pass123'};
fetch('http://127.0.0.1:8000/signup/',{
method:"POST",
body: JSON.stringify(data),
mode:"no-cors",
headers: {
"Content-Type": "application/json",
// "Content-Type": "application/x-www-form-urlencoded",
},
})
.then(response => response.json());
下面是REST-API的views.py中处理POST请求的def:
@api_view(['GET', 'POST', ])
def signup(request):
serializer = employeeSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
我是新手,谁能告诉我为什么 JavaScript 代码不起作用?
编辑: 浏览器控制台显示的错误是:
POST http://127.0.0.1:8000/signup/ 415 (Unsupported Media Type)
【问题讨论】:
-
结果如何?如果有的话,你在开发者工具中看到了什么错误信息?
-
您不需要另一个
.then调用来处理JSON 响应吗? -
“谁能告诉我为什么 JavaScript 代码不能工作?” - 你的浏览器控制台很可能可以,所以去那里检查一下。可能会指出您有 CORS 问题,因此请阅读该关键字,如果它对您来说是新闻。
-
@skyboyer,出现错误信息:415(不支持的媒体类型)
标签: javascript django-rest-framework fetch