【发布时间】:2013-05-20 00:32:55
【问题描述】:
我有一个 Django 服务器在本地运行 http://localhost:8000,视图设置在 url /register/。
我有一个带有表单的 html 文件。视图正确显示。但是当我按下按钮时,应该会生成一个 POST 请求,但 Django 没有收到任何请求。
我不知道我是否设置了错误的主机来发布帖子,或者我遇到了不同的问题,因为在 jsFiddle 从 Firefox for windows 进行测试时,我可以看到带有 Firebug 的 POST;但如果我在 Ubuntu 上使用 Firefox 和 Firebug,在我运行 Django 的虚拟机上,Firebug 不会捕获任何 POST 请求。
#views.py
def formExample1(request):
print 'RECEIVED REQUEST: ' + request.method
if request.method == 'POST':
startHour = request.REQUEST['starthour']
endHour = request.REQUEST['endhour']
return HttpResponseRedirect('http://www.google.es')
else: #GET
return render(request, 'formExample1.html')
urls.py
urlpatterns = patterns('',
url(r'^register/$', 'helloworld.views.formExample1'),
)
formExample1.html 看起来像这样:
<script>
...
// Play button
$( "#id_playButton" ).click(function() {
var postdata = {
'starthour': $("#id_interval").slider("values", 0),
'endhour': $("#id_interval").slider("values", 1)
}
$.post('register/', postdata)
});
</script>
【问题讨论】:
-
您根本不处理响应。您应该在
.done的一部分.post中进行操作 -
可能是一个愚蠢的问题,但是当您在开发服务器上运行页面时,
$("#id_playButton")是否返回了正确的按钮? -
你用萤火虫吗?网络标签说什么?
-
@matino 怎么样?请在回答中说明。 Teshte,当我按下按钮时,它在 net 选项卡中什么也没说(在 ubuntu 虚拟机中,在 jsFiddle,Firebug 在 Console 选项卡和 Net 选项卡上显示了带有正确变量的 POST)
-
所以它正确地发布到 /register 并运行你的视图,但是你说大多数没有被发送?
标签: javascript jquery django post