3

有任何示例显示如何将 blobstore api 与 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);
}

当我使用表单文件时,它使用输入标签发送(就像文档的示例一样)

4

2 回答 2

4

我写了一系列 关于这个 帖子。

于 2010-06-29T19:34:20.647 回答
2

不知何故,您仍然需要将多部分表单数据请求发送到服务器......所以当您使用表单时,我假设您的<form>标签上有类似这样的内容:enctype="multipart/form-data",对吗?

当您只是通过 ajax 发送“POST”时,您将丢失该多部分请求,这是您的文件所在的位置。

有一些 jQuery“ajax 文件上传”插件可以帮助你。

希望这可以帮助!

** 编辑 **

我想我可以添加的一件事通常是通过创建隐藏的 iframe 并使用该 iframe 提交表单或使用表单并通过 JavaScript 发布来实现 ajax 文件上传(在客户端)。

于 2010-06-29T18:07:16.483 回答