использование API-интерфейса Blobstore Python с ajax - PullRequest
3 голосов
/ 29 июня 2010

есть какой-нибудь пример, показывающий, как использовать API-интерфейс blobstore с ajax?

, когда я использую формы, работает нормально, но если я использую jquery, я не знаю, как отправить файл, и я получаю эту ошибку:

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

У меня есть этот код в 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);
}

Когда я использую формы файла, он отправляется с тегом ввода (точно так же, как образец документа)

Ответы [ 2 ]

4 голосов
/ 29 июня 2010

Я написал серию из сообщений именно об этом.

2 голосов
/ 29 июня 2010

Каким-то образом вам все равно нужно получить запрос данных составной формы на сервер ... поэтому, когда вы используете формы, я предполагаю, что на вашем теге <form> есть что-то вроде этого: enctype = "multipart / form-data ", верно?

Когда вы просто отправляете «POST» через ajax, вы теряете тот составной запрос, в котором находится ваш файл.

Существует несколько плагинов jQuery для "загрузки файла ajax", которые могут вам помочь.

Надеюсь, это поможет!

** РЕДАКТИРОВАТЬ **

Полагаю, одну вещь, которую я могу добавить к этому, - это, как правило, загрузка ajax-файлов (на клиенте), либо путем создания скрытого iframe и использования этого iframe для отправки формы, либо с помощью формы и публикации ее через JavaScript.

...