我正在尝试使用form
代码,<input type='submit' method=get>
和 jQuery 异步提交表单。
当我点击提交按钮时,我的终端追溯中出现以下错误:
[24/Mar/2016 03:55:14] "GET /? HTTP/1.1" 200 1270
[24/Mar/2016 03:55:14] "GET /submitted/1458791714827 HTTP/1.1" 302 0
- Broken pipe from ('127.0.0.1', 33187)
以下是我的HTML ...
<body>
<h1>API: Disney</h1>
<form method="get">
<input type='submit' value='CLICK ME VIEW ALL TIMESTAMPS BETWEEN NOW AND 5 MINUTES AGO!'></input>
</form>
</body>
这是我的jQuery ......
$(document).ready(function(){
$('form').submit(function(){
var submittime = new Date().getTime()
$.ajax({
url: 'submitted/' + submittime,
});
});
})
以下是我的观点...
class SubmitValue(View):
def get(self, request, currdate):
val = random.randrange(1,100)
date = int(currdate)
Data.objects.create(value=val, curr_time=date)
return redirect('/')
以下是我的应用urls.py文件...
url(r'^submitted/(?P<currdate>\d+)$', SubmitValue.as_view()),
以下是我的模特......
from django.db import models
class Data(models.Model):
value = models.IntegerField()
curr_time = models.BigIntegerField()
答案 0 :(得分:3)
点击input type=submit
后,因为我将method="get'
放在form
标记中,它会发送一个与$.ajax
获取请求同时运行的不必要的获取请求。这会导致broken pipe
错误。为了摆脱它,我只是从method='get'
标记中提取form
,因此当用户点击input type=submit
时,它只发送一个获取请求。
喜欢这个!
<body>
<h1>API: Disney</h1>
<form>
<input type='submit' value='CLICK ME VIEW ALL TIMESTAMPS BETWEEN NOW AND 5 MINUTES AGO!'></input>
</form>
</body>