通过JavaScript发送文件到PHP

问题描述:

这是JavaScript文件的主要部分。通过JavaScript发送文件到PHP

$(document).ready(function() 
{ 
    $('form').submit(function(event) 
    { 
     var formData = { 
      'name'   : $('input[name=name]').val(), 
      'position'  : $('input[name=position]').val(), 
      'resume'  : $('input[name=resume]').val(), 
      'comment'  : $('#commentBox').val() 
     }; 

     $.ajax({ 
      type  : 'POST', 
      url   : 'process.php', 
      data  : formData, 
      dataType : 'json', 
      encode  : true 
     }) 

它获取HTML表单域并将它们发布到PHP文件。

我然后访问通过$ _ POST的所有字段[“..”]

问题是‘简历’字段只传递像一个字符串:‘C:/fakepath/file.doc’但我需要传递实际的对象/文件,所以我可以在PHP文件中用$ _FILES ['resume'] ['name']来访问它。

我敢肯定,有一些简单的我失踪了,但我盯着它太长了,谷歌搜索的例子没有太大的成功。

欣赏任何帮助,批评:)

+3

AJAX无法发送文件,交配 –

+0

可以使用,虽然EX插件:使用AJAX可以//blueimp.github.io/jQuery-File-Upload/ –

+0

发送的文件,但需要一些:HTTPS调整:http://*.com/questions/9622901/how-to-upload-a-file-using-jquery-ajax-and-formdata – John

尝试以此为形式的数据对象,而不是 - 你不能发送文件 - 但可以通过它的数据作为文件。

var resume = $('#resume'); 
var form_data = new FormData();     
form_data.append('file', resume); 

...等

您需要使用FORMDATA对象,但它不supportred旧版浏览器上。 检查了这一点:jQuery Ajax File Upload