jerrywang518 2022-02-25 11:16 采纳率: 0%
浏览 393

使用wx.request,POST方法一直出错,其他wx.login,wx.uploads都正常

小程序前端调用wx.request,后台使用django,请大家帮忙看下哪有问题,急死了,谢谢

前端js代码:


add(){
    wx.request({
      url: 'https://www.wint.wang/groups/activity',
      method:'POST',
      header:{
        'content-type':'application/x-www-form-urlencoded'
      },
      data:{
        action:'add_activity',
        data:{
          leader:'hello'
        }
      },
      success:function(res){
        console.log(res.data)
      }
    })
  }, 

后台django代码:

import json
from django.http import JsonResponse
#from groups.models import GroupInfo,GroupActivity
def dispatcher(request):
    if request.method == 'GET':
        request.params = request.GET
    # POST/PUT.DELETE请求参数从request对象的body属性中获取
    elif request.method in ['POST', 'PUT', 'DELETE']:
        # 根据接口,请求的消息体都是json格式
        request.params = json.loads(request.body)

    # 根据不同的action分派给不同你的函数进行处理
    action = request.params['action']
    if action == 'list_activity':
        return listactivities(request)
    elif action == 'add_activity':
        return addactivity(request)
    else:
        return JsonResponse({'ret': 1, 'msg': '不支持该类型http请求'})

def listactivities(request):
    #qs = GroupActivity.objects.values()

    #retlist = list(qs)

    return JsonResponse({'ret': 0, 'retlist': 'retlist'})
def addactivity(request):
    info = request.params['data']
    #从请求信息获取要添加的客户信息
    #插入数据库
    leader=info['leader']
    term="202101"
    group_id="10000201"
    group_name="夕阳红沪剧沙龙" 
    #record =GroupInfo.objects.create(group_id=group_id,group_name=group_name,group_leader=leader)
    #record =GroupActivity.objects.create(term=term, group_id=group_id, group_name=group_name,\
    #    activity_leader=leader, activity_date=mydate, teacher=teacher, activity_number=number,\
    #    activity_subject=subject, activity_content=content, activity_photo1=photo1,\
    #    activity_photo2=photo2, activity_photo3=photo3)
    return JsonResponse({'ret':0,'id':'record.id'})

报错信息:


VM9 asdebug.js:1 POST https://www.wint.wang/groups/activity 500 (Internal Server Error)(env: Windows,mp,1.05.2110290; lib: 2.19.6)
b @ VM9 asdebug.js:1
createRequestTask @ VM9 asdebug.js:1
invoke @ VM9 asdebug.js:1
r @ VM9 asdebug.js:1
invoke @ VM293 WAService.js:2
pe @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
rt @ VM293 WAService.js:2
Au @ VM293 WAService.js:2
_u @ VM293 WAService.js:2
s @ VM293 WAService.js:2
vu @ VM293 WAService.js:2
ff @ VM293 WAService.js:2
createRequestTask @ VM293 WAService.js:2
execute @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
t.<computed> @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
l @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
value @ apihook.js?t=wechat&s=1645756479241&v=06884d486b9433146caef2898bd24a88:1
add @ test.js? [sm]:26
i.safeCallback @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
Cr @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
y @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
(anonymous) @ VM293 WAService.js:2
i @ VM9 asdebug.js:1
c @ VM9 asdebug.js:1
(anonymous) @ VM9 asdebug.js:1
f @ VM9 asdebug.js:1
g @ VM9 asdebug.js:1
(anonymous) @ VM9 asdebug.js:1
_ws.onmessage @ VM9 asdebug.js:1
Show 8 more frames

请大家帮忙看下

  • 写回答

1条回答 默认 最新

  • CSDN专家-黄老师 2022-02-25 11:39
    关注

    Django默认对post带了crsf保护,你要取消这个功能,你在views.py添加这些代码:

    from django.views.decorators.csrf import csrf_exempt
    
    @csrf_exempt
    def xxx(request):
    

    代码的def xxx(request):是你视图函数,这样就可以了

    评论

报告相同问题?

问题事件

  • 创建了问题 2月25日

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加