使用$.post()后台却接受到get请求

奔跑小子 发布于 05/09 07:43
阅读 303
收藏 0

前端是这样用的 

$.post(
        "/instances/webssh_pwd",
        {password: password},
        function(data) {
            webssh(host, username, data.unq_key);
        }
    )

后端django代码

def post_webssh_pwd(request):
    if request.method == 'POST':
        data = dict()
        pwd = request.POST.get("password")
        unq_key = unique()
        redis_conn.hset("webssh", unq_key, pwd)
        data["unq_key"] = unq_key
        return JsonResponse(data)

后台能接受到请求,然而方法却是get的,这是怎么回事?

加载中
0
你不懂的吧
你不懂的吧

字符串比较==换掉试试

0
奔跑小子

引用来自“你不懂的吧”的评论

字符串比较==换掉试试

debug过,方法确实是get

你不懂的吧
你不懂的吧
回复 @奔跑小子 : 你需要返回值吗 不需要直接用表单post
奔跑小子
回复 @你不懂的吧 : 加上@csrf_exempt可以么
你不懂的吧
你不懂的吧
有一种说法是跨域后 post都会转成get 你看看是不是这种情况
0
ecp
ecp
$.ajax({
    url: '/path/to/file',
    type: 'default GET (Other values: POST)',
    dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
    data: {param1: 'value1'},
  })
  .done(function() {
    console.log("success");
  })
  .fail(function() {
    console.log("error");
  })
  .always(function() {
    console.log("complete");
  });

这样试试看

0
120011676
120011676

确认jquery无问题,
python代码不够

0
很拽De土豆
很拽De土豆

抓包看一下不就知道了。如果抓包是post,那就是后台的问题,反之就是前台的问题。

0
胡萝卜炒肉
胡萝卜炒肉

请求有没有被转发,例如nginx

返回顶部
顶部