如何使用简单的jquery-ajax调用上传文件

Alo*_*lon 4 javascript php ajax jquery file-upload

我正在搜索一个简单的客户端脚本来使用ajax上传文件.搜索此脚本的Web只会带来很多具有多功能的插件.我不需要多功能 - 只是为了能够使用ajax尽可能简单地上传它

有可能写一些简单的东西:

$.get('server/upload.php?file = ' + $('#uploadInput').val(), function(data) {
   $('.result').html(data);    
 });
Run Code Online (Sandbox Code Playgroud)

如果可能 - 我应该如何正确编写它($('#uploadInput').val()不会给我正确的目录路径 - 所以我需要做什么来使用Ajax传递位置).

除此之外 - 为了获取文件的拖放 - 是否有一个简单的脚本或我需要使用插件(并且有一个非常小而简单的没有多功能)

Ohg*_*why 5

您不能使用AJAX上传文件(除非客户端浏览器支持HTML 5元素,它允许访问文件对象.).

你的解决方案是伪造它

创建一个表单元素

<form id="myForm" action="upload.php" method="POST" target="results_frame">
  <input name="fileUpload" type="file" />
  <input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

我们为'results_frame'设置了框架的目标,我们将在HTML中的表单之后将其定义为空iframe.

<iframe id="results_frame" name="results_frame" style="display:none;"></iframe>
Run Code Online (Sandbox Code Playgroud)

然后,在您的php文件的后端,您可以捕获该文件 -

$_FILE['file']['param']; //where param accepts multiple values
//such as name, type, size, error, and tmp_name
Run Code Online (Sandbox Code Playgroud)

完成对文件的操作后,您可以回显所需的任何信息,包括此时刷新初始表单.