为什么我在用superagen发送POST请求时,在Django端收到GET请求

2024-09-29 23:18:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用superagent.js向服务器应用程序发送POST请求。请求被发送到django视图。但是我收到了一个关于视图的GET请求。在

下面是我试图用superagent发送请求的代码:

request.post('/nameofview')
.set('Content-type', 'application/x-www-form-urlencoded')
.set('X-CSRFToken', csrf)
.send({name: 'name'})
.end(callback)

以下是来自django开发服务器的日志:

^{pr2}$

因此,djangoprojecturl dispatcher正在接收一个post请求,但随后将其作为get请求重定向到应用程序视图。我在url匹配方面没有任何问题。Execution输入视图代码,但这是一个get请求而不是post,这就是为什么我无法获取已发送的post数据。

这是我的视图代码:

^{3}$

从这个post中,我发现我必须在post请求中附加一个csrftoken,当然,我按照here的描述这样做,但没有成功。在

所以,我的问题是,它为什么要这样做,我怎样才能使它不触碰我的post请求?在

p.S.它与get请求一起工作,没有任何问题。


Tags: django代码name视图getrequestjspost
1条回答
网友
1楼 · 发布于 2024-09-29 23:18:50

穆尼尔似乎走上了正确的道路。但是后面的/似乎不是问题所在。相反,Django在请求的URL前面添加了一个/ruru可能是您在url中编码的语言的描述符吗?如果是这样,请尝试调用request.post('/ru/nameofview/')。在

另一方面,superagent似乎用GET请求而不是POST来调用重定向,因此Mounir提出的allow_redirects=True函数也可以做到这一点,尽管我不熟悉该库。在

相关问题 更多 >

    热门问题