返回顶部
  • 发帖数24
  • 粉丝0

关注智能硬件、自动驾驶、互联网大厂以及创业公司项目报道。vx:13412979044欢迎咨询。

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑

[前端开发] 使用django和jquery异步上传文件后台获取不到数据?

[复制链接]
冻GoldenJoe 显示全部楼层 发表于 2020-11-30 22:04:24 |阅读模式 打印 上一主题 下一主题
已解决
76 4
使用django和jquery异步上传文件后台获取不到数据?
冻GoldenJoe2020-11-30 22:04:24
我这是那写错了后台获取不到数据呢?



  1. <script>
  2. $(function () {
  3.         $('#number').click(function () {
  4.             var form_info = new FormData();
  5. var fileinfo = $('[name=upload]'); //获取文件对象
  6. var file_obj=fileinfo[0].files[0]; //1种方式获取文件内容
  7. //var file_obj = $('[name=upload]')[0].files[0]; //2种方式获取文件内容
  8. //这里FormData是一个jquery对象,用来绑定values对象,也可以用来上传二进制文件,有了他就可以不用form表单来上传文件了
  9. var uesrName=$('[name=userName]').val() /*获取用户名*/
  10. var userPsw=$('[name=userPsw]').val()/*获取密码*/
  11. var box=$('[name=box]').val() /*获取记住用户名*/
  12. var check=$('[name=check]').val() /*获取验证码*/
  13. var csr=$('[name=csrfmiddlewaretoken]').val()
  14.             // var datas = $('#form1').serialize()/*序列化表单对象(获取表单内容,以这种方式展现userName=用户输入的内容&userPsw=用户输入的内容)*/
  15. form_info.append('userPsw',userPsw);
  16. form_info.append('uesrName',uesrName);
  17. form_info.append('box',box);
  18. form_info.append('check',check);
  19. form_info.append('csrf',csr);
  20. // form_info.append('file_obj',file_obj);
  21. //image_info.append('csrfmiddlewaretoken',csrf_data); //获取防止身份伪造跨域名攻击内容
  22. $.ajax({
  23.                 processData: false, /*不处理数据*/
  24. contentType: false, /*不设置内容类型*/
  25. // headers: {
  26. //         "X-CSRFToken": $.cookie('csrftoken')  // Django 403处理
  27. //     },
  28. url: '/login_check', /*请求地址*/
  29. type: 'post', /*请求方式*/
  30. data: form_info, /*发送的数据内容*/
  31. datatype: 'json',/* 请求数据返回的类型*/
  32. success: function (data) { /*返回请求信息*/
  33. // if (data.info == 1) {
  34. //     window.location.replace('/direct')//1.页面重定向
  35. //     // window.location.href="url" //2.页面重定向
  36. // } else if (data.info == 0) {
  37. //     alert('密码错误')
  38. // } else if (data.info == 2) { //     alert('用户名不能为空')
  39. // } else if (data.info == 3) { //     alert('验证码错误')
  40. // } }
  41.             })
  42.         })
  43.     })
  44. </script>
复制代码
  1. <body>
  2. <form action="" method="post" datatype="multipart/form-data">
  3. {% csrf_token%} <!--防止身份伪造跨域名攻击。 Django 默认开启防护-->
  4. 用户名:<input type="text" name="userName" value='{{userName}}'><br>
  5. 密码:<input type="text" name="userPsw"><br>
  6. <input type="checkbox" name="box">记住用户名<br>
  7. 验证码:<input type="text" name="check"><img src='/verify_code'/><br>
  8. <span style="width: 10px; height: 10px; display: block"></span>
  9. <input type="file" name="upload" id="upload" /><br>
  10. <span style="width: 10px; height: 10px; display: block"></span>
  11. <input id="number" type="button" value="发送ajax请求">
  12. </form>
复制代码
  1. def login_check(request):
  2.     userName = request.POST.get('uesrName')
  3.     print(userName)
  4.     userPsw = request.POST.get('userPsw')
  5.     box = request.POST.get('box')  # 获取复选框
  6.     check = request.POST.get('check')  # 获取验证码
  7. #这里的image_info拿到了文件的对象,这个对象包含了文件的名字,二进制内容
  8. image_info=request.FILES.get('file_obj')
复制代码




最佳答案

超级玛丽超级版主 关注Ta

2020-11-30 22:04:25

uesrName 和 userName?你别说,你好像还写对了。 你请求一下 https://www.lilnong.top/cors/1010000038284150 看看数据是什么 加个微信之类的吧。这个问不明白
查看完整内容
回复

使用道具 举报

精彩评论4

超级玛丽 显示全部楼层 发表于 2020-11-30 22:04:25
冻GoldenJoe 发表于 2020-12-1 10:38
uesrName的值也获取不到

uesrName 和 userName?你别说,你好像还写对了。
你请求一下 https://www.lilnong.top/cors/1010000038284150 看看数据是什么
加个微信之类的吧。这个问不明白
回复

使用道具 举报

超级玛丽 显示全部楼层 发表于 2020-12-1 10:37:46
file_obj 没 append 进去呀
回复

使用道具 举报

冻GoldenJoe 显示全部楼层 发表于 2020-12-1 10:38:33
超级玛丽 发表于 2020-12-1 10:37
file_obj 没 append 进去呀

uesrName的值也获取不到
回复

使用道具 举报

admin 显示全部楼层 发表于 2020-12-1 12:09:05
冻GoldenJoe 发表于 2020-12-1 02:38
uesrName的值也获取不到

componentDidMount只是一个组件装载完毕的生命周期函数。并不代表你的数据都渲染完毕。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

星点互联 成立于2014年8月,是目前国内优秀的开源技术社区,拥有超过300万会员,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作