2016-03-24 5 views
1

Ich versuche, ein Formular abzuschicken asynchron einen form-Tag, <input type='submit' method=get> und jQuery.

Wenn ich den Absenden-Button klicken ich in meinem Terminal Zurückverfolgungs die folgende Störung erhalte:

[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) Hier ist mein 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> 

Hier ist meine jQuery ...

$(document).ready(function(){ 
    $('form').submit(function(){ 
     var submittime = new Date().getTime() 
     $.ajax({ 
      url: 'submitted/' + submittime, 
     }); 
    }); 
}) 

Hier ist meine Ansicht ...

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('/') 

Hier ist meine apps urls.py Datei ...

url(r'^submitted/(?P<currdate>\d+)$', SubmitValue.as_view()), 

Hier meine Models ist ...

from django.db import models 

class Data(models.Model): 
    value = models.IntegerField() 
    curr_time = models.BigIntegerField() 
+0

http://stackoverflow.com/questions/10253288/django-development-server-broken-pipe-error –

Antwort

2

Wenn die input type=submit geklickt wird, weil ich method="get' im form Tag legen, ist es eine unnötige GET-Anfrage sendet, die an die $.ajax Erhaltungs-Anforderungs gleichzeitige läuft. Dies verursacht den Fehler broken pipe. Um es loszuwerden, zog ich nur die method='get' aus dem form Tag, so wenn der Benutzer auf die input type=submit es sendet nur eine Anfrage abrufen.

So!

<body> 
    <h1>API: Disney</h1> 
    <form> 
     <input type='submit' value='CLICK ME VIEW ALL TIMESTAMPS BETWEEN NOW AND 5 MINUTES AGO!'></input> 
    </form> 
</body> 
Verwandte Themen