0

我有一个视图,它负责处理来自客户端的所有 Ajax 提交。为了区分它们,我使用了不同的提交按钮名称,例如这个

<input type="submit" value="Send" name="send_message">

从这个问题建议。唯一的问题是,从视图方面它似乎没有携带name到服务器端,所以我不能使用下面的 if 语句

if 'send_message' in request.POST:

如果我用新鲜的页面正常发送它,它就可以工作。但我想将它与 Ajax 一起使用。

我想出了一个技巧,你可以用 jQuery 添加这个名字。只需在serializing()您的数据之后,您就可以通过以下方式连接名称属性data += "&send_message"

然后 if 语句将起作用。但它似乎并不那么干净。所以我想知道是否有更好的方法来处理这个问题?或者我应该使用不同的视图来处理我拥有的不同 Ajax 调用?

4

1 回答 1

0

您确实应该将每个表单发布到不同的 URL。

如果没有,您可以添加一个隐藏输入,并将表单名称作为值。

<input name="form_name" type="hidden" value="form_1" />

视图.py:

form_name = request.POST['form_name']

于 2012-05-14T10:37:20.430 回答