上传图像通过AJAX

问题描述:

我一直试图建立一个网页尤斯PHP和AJAX让用户使用其API文件上传到imm imm.io:上传图像通过AJAX

http://imm.io/api/(随意看看,因为它只是一个简单的例子)

我想知道如何动态地上传使用jQuery的想法是复制下面的工作流程:

  1. 用户填写表格
  2. 时提交butto n被点击时,它会采取的形式值并把它们送到imm.io
  3. 等待,直到接收到JSON响应
  4. 显示错误/成功的消息更新一个div

我的代码:

var request = $.ajax({ 
     url: 'http://imm.io/store/', 
     type: "POST", 
     cache: false, 
     data: { ??? }, //here my problem resides 
     dataType: "json" 
    }); 

    //waiting ultil the request be finished 
    $.when(request).then(function(data, textStatus, jqXHR){ 
     console.log(data); 
    }); 

如果上述注意,???代表哪里出了问题所在,因为我不知道如何发送文件值转换成JSON格式塔尔“数据”的需求。

在这里看到SO一些问题看起来像阿贾克斯不能发送文件。

所以,我只需要一只手来引导到正确的方向....一件事:我从来没有使用卷曲PHP扩展,但我的事这可能是另一种选择,对吗?

编辑, 我忘了告诉你为什么我没有使用上面问题中插入的插件:因为插件不会等到请求完成,所以我从来没有从服务器获得真正的响应。

+0

你知道,如果API支持(跨原点)AJAX的职位?看起来不太像。 – Musa

+0

该文件不清楚,所以我不确定 – manix

+0

@Musa,imm.io接受base64上的图像。它有帮助吗? – manix

我发现这是一个很好tutorial。另外一个jquery plugin

希望帮助;)

+0

你用IE还是什么? – Musa

+0

Linux上没有Mozilla ..我完全错了吗? :) – hek2mgl

+0

结帐http://caniuse.com/xhr2和https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/FormData#Browser_compatibility – Musa