Redirect nach POST-request mit jquery
Arbeite ich mit Django. Ich habe eine HTML Seite, wo ich ein paar Javascript-Zeug, und dann Mach ich ein jQuery-post, auf diese Weise:
$.ajax({
url: '/xenopatients/measurement/qual',
type: 'POST',
data: {'obj':data},
dataType: 'json',
contentType: "application/json; charset=utf-8", //questo ok
});
Nach diesem post-request, mein Django-Ansicht korrekt verarbeitet den Aufruf für diese URL.
Was ich will, es zu tun ist, die Daten verarbeiten, senden Sie dem Benutzer zu einer anderen Seite, und senden diese Daten an die neue Seite.
Das problem ist, dass ich kann nicht führen Sie die Umleitung wie üblich in Python, es ist wie der code ignoriert die Weiterleitung.
Mein Python-code ist:
@csrf_protect
@login_required#(login_url='/xenopatients/login/')
def qualMeasure(request):
name = request.user.username
print "enter"
if request.method == 'POST':
print request.POST
if "obj" in request.POST:
print 'obj received'
return render_to_response('mice/mice_status.html', RequestContext(request))
return render_to_response('measure/qual.html', {'name': name, 'form': QualMeasureForm()}, RequestContext(request))
Der einzige Weg den ich gefunden habe, ändern die Seite ist durch Javascript-Code nach dem code oben:
top.location.href = "/xenopatients/measurement";
Aber ich weiß nicht, wie übergeben Sie die Daten, die ich brauche, wenn mit dieser Methode.
Den HTML-code:
<form action="" method="">
<table id="dataTable" width="100%" border="1"></table><br>
<script language="javascript">
document.measureForm.id_barcode.focus();
document.measureForm.Add.disabled = false;
$('#dataTable').tablePagination({});
</script>
<input type="button" name="save" value="Save Measure Serie" onclick="table2JSON('dataTable')"/>
</form>
P. S. ich habe auch versucht $.post
, aber mit dem gleichen Ergebnis.
Wie mache ich einen redirect nach einer post-Anfrage mit jQuery in Django?
Ich benutze ajax dynamisch zu ändern die Daten auf der Seite und senden Sie komplexe Daten an den server... und ich nicht der einzige! 😉
Der python-code nicht sehr gut lesbar, weil etwas falsch ist mit Einrückung...
danke, ich sah nie, dass Fehler. Jetzt habe ich es behoben. 🙂
InformationsquelleAutor Piero Alberto | 2011-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, ich habe festgestellt, das Magische Lösung! 🙂
Die situation:
es ist ein Blick auf die Methode aufgerufen, die von jQUery.ajax()
Umleiten nach Ajax, ich habe die Tipps gefunden hier (des Dokuments verwenden anstelle von 'Körper' in der jQuery-selecotor)
Aber ich habe auch weitere Operationen zu tun.
in der aufgerufenen Ansicht, eine andere Methode aufgerufen, so wie hier:
Speichere ich die Daten, die ich brauche in der Sitzung. Ich verwende diese Daten in der aufgerufenen Ansicht.
Andere Methode aufgerufen werden es ist der Schlüssel für die Umleitung der Seite des Browsers.
In der Tat, am Ende der aufgerufenen Methode, die Sie normalerweise schreiben&execute:
Hoffe dies kann nützlich sein für jemanden! 😉
InformationsquelleAutor Piero Alberto
@Daniel ist richtig, dass Sie möchten, um zu vermeiden, leitet mit ajax-calls, aber Sie könnte nehmen Sie einen Blick auf diese Stack-Überlauf Frage, welche Adressen, wie dies zu tun: Wie man ein redirect-Anforderung nach einen jQuery-Ajax-call
InformationsquelleAutor Brandon
Auf die Schaltfläche klicken Sie auf diese Funktion aufrufen() unten, und übergeben Sie die parameter, wie in meinem Fall, dass ich verabschiedete neue
In Ihrem servlet-Sie brauchen, um zu erwähnen, folgenden code für die Seite umleiten.
InformationsquelleAutor shah sanket