使用Blobstore Python API和Ajax
有没有什么例子可以展示如何用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);
}
当我使用表单时,文件是通过一个输入标签发送的(就像文档中的示例一样)
2 个回答
2
你还是需要把多部分表单数据请求发送到服务器……所以当你使用表单时,我想你的 <form>
标签上应该有类似这样的内容:enctype="multipart/form-data",对吧?
如果你只是通过ajax发送一个“POST”请求,你就失去了那个多部分请求,而文件就在里面。
网上有一些jQuery的“ajax文件上传”插件,可能会对你有帮助。
希望这能帮到你!
** 编辑 **
我想我可以补充一点,通常在客户端进行ajax文件上传时,有两种实现方式:一种是创建一个隐藏的iframe,然后用这个iframe来提交表单;另一种是使用表单,通过JavaScript来发送。