更新用户信息提示 Cannot POST /

来源:9-4 用户个人信息修改

慕桂英1068294

2017-12-12

UserViewset  和 UserDetailSerializer 是直接复制过来的。

点击确认更改后 不弹提示框, 直接跳转。 但是数据库的用户信息有成功更新,docs的接口调试也没问题。

http://img.mukewang.com/szimg/5a2eab2400010dff17280972.jpg


写回答

4回答

蜗牛__

2018-04-30

我也被这个问题苦恼了一天,后来请教了我一个前端的朋友。发现了问题,我觉得应该算是老师给的前端代码的一个bug


  1. 首先简化一下“确认修改”的Html代码


<form name="formEdit" action="" method="post" >
    <button class="btn_blue_1" style="border:none;" @click="confirmModify">确认修改</button>
</form>

 这个时候我们点击确认修改,会发现跳转到了空页面,上面只有一个Cannot Post /

 这个时候打开F12看一下,查看请求头

Request URL: http://127.0.0.1:3000/
Request Method: POST
Status Code: 404 Not Found

 发现, 请求的Url并不是 http://127.0.0.1:3000/user/1/

 原因:

Html中 <button/> 标签自带提交属性,类似 <input type='submit' />

 这样就会导致,当点击确认修改时,除了执行”confirmModify“方法,同时还会提交该表单。

<form name="formEdit" action="" method="post" >
</form>

这个表单的action为空,也就是 http://127.0.0.1:3000/

解决办法:

将button改为div即可

<form name="formEdit" action="" method="post" >
    <div class="btn_blue_1" style="border:none;" @click="confirmModify">确认修改</div>
</form>



3
5
bobby
回复
慕村5325399
好的,
2020-03-11
共5条回复

dadajiao

2019-08-25

Error occured while trying to proxy to: localhost:8080/

这个错, 也是button标签导致的, 会刷新页面. 再就是用户姓名绑定的字段name改成username

<td width="72%" align="left" bgcolor="#FFFFFF"><input name="username" type="text" placeholder="" size="25" class="inputBg" v-model="userInfo.username"></td>


0
0

barbo1942

2018-01-05

請問解決了嗎?  我也遇到相同的問題

QQ系統有問題,目前申請不了帳號

0
1
bobby
你加我的qq 442421039 我看看
2018-01-08
共1条回复

bobby

2017-12-12

你通过qq群找到我 给我发个qq消息 我看看

0
0

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2888 学习 · 2467 问题

查看课程