从(' 127.0.0.1',33187)""断管使用$ .ajax执行get请求时

时间:2016-03-24 04:06:31

标签: javascript jquery python ajax django

我正在尝试使用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()

1 个答案:

答案 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>