zerone_pr
2019-07-06 21:18
采纳率: 88.9%
浏览 2.0k

HTML前台点击事件,post传递参数,后台如何接收?

如题,HTML代码如下:

<script language="JavaScript" type="text/javascript">
    function fu() {
        var a ={{ articles.title }};
        $.ajax({
            type: "post",
            url: "/test",
            contentType: "application/json; charset=UTF-8",
            data: JSON.stringify(a),
            success: function(data),
            error: function(xhr, type) {
               }
        });
    }
</script>

请问后台应该怎样写才能接收到前台传递的数据呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • skym龙 2019-07-07 06:44
    已采纳

    根据你的ajax请求配置url: "/test",这个url对应你在urls.py里面定义的views.py里面的某个方法,如:url(r'^/test$', views.test)。
    在views.py里面:
    def test(request):
    data_key = request.POST.get('data_key') # 这里的POST或者是GET根据你ajax里面的配置决定,但是一定要大写
    return JsonResponse({'key':data_key})

    点赞 评论
  • 给你讲了一遍

    <script language="JavaScript" type="text/javascript">
        function fu() {
            var a ={{ articles.title }};
            $.ajax({
                type: "post",   //以post方式请求
                url: "/test",     // /test 这个就是你后台的方法路由,或者说虚拟地址。就是controller里的方法
                contentType: "application/json; charset=UTF-8",
                data: JSON.stringify(a),  //这个是你传到后台的数据,但你这样不对。应该是data:{'data':JSON.stringify(a)},后台方法参数声明个data
                success: function(data){
                              //这里是返回成功的时候执行
                            },
                error: function(xhr, type) {
                            // 返回失败
                   }
            });
        }
    </script>
    
    
    点赞 评论

相关推荐 更多相似问题