3 Stimmen

Verwendung von Blobstore Python API mit Ajax

Gibt es ein Beispiel, das zeigt, wie man die Blobstore-Api mit Ajax verwendet?

wenn ich Formulare verwenden, funktioniert gut, aber wenn ich Jquery verwenden, weiß ich nicht, wie die Datei zu senden, und ich bekomme diesen Fehler:

    blob_info = upload_files[0]
    IndexError: list index out of range

Ich habe diesen Code in Javascript

function TestAjax()
{
 var nombre="Some random name";
 ajax={
    type: "POST",
    async:true,
    //dataType:"json",
    url:"{{upload_url}}",
    data:"nombreEstudio="+nombre,   
    error: function ()
    {
        alert("Some error");
        $("#buscando").html("");
    },            
    success: function()
             { alert("it's ok") }
 };             
 $.ajax(ajax);
}

Wenn ich Formulare verwende, wird die Datei mit einem Eingabe-Tag gesendet (genau wie im Beispiel des Dokuments)

4voto

Nick Johnson Punkte 99799

Ich schrieb eine Serie von Beiträge über genau dies.

2voto

Matthew J Morrison Punkte 4203

Irgendwie müssen Sie immer noch die mehrteiligen Formulardaten an den Server senden... wenn Sie also Formulare verwenden, nehme ich an, dass Ihre <form> Tag etwas wie das folgende enthält: enctype="multipart/form-data", richtig?

Wenn Sie nur ein "POST" über Ajax senden, verlieren Sie die mehrteilige Anfrage, in der sich Ihre Datei befindet.

Es gibt einige jQuery "ajax file upload" Plugins, die Ihnen helfen können.

Ich hoffe, das hilft!

** EDIT **

Ich schätze, eine Sache, die ich hinzufügen kann, ist in der Regel Ajax-Datei-Uploads (auf dem Client) implementiert werden, indem entweder ein versteckter Iframe, und mit diesem Iframe, um ein Formular zu übermitteln, oder mit einem Formular und Posting es über JavaScript.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X