通过PHP和Jquery上载文件问题

詹姆士

我正在尝试按照此答案使用Jquery通过Ajax和PHP上传文件,但是它不起作用。

这是我的HTML表单的一部分(我正在使用引导程序):

<form  role="form" enctype="multipart/form-data" id="edit-company" method="POST">
<div class="form-group">
     <div class="row">
         <div class="col-md-6">
             <div class="row">
                 <div class="col-md-12 form-group">
                     <label for="field-name-company">Name:</label>                 <input id="field-name-company" name="nameCompany" class="form-control" type="text"/> 
                 </div>
                 </div>
                     <div class="row">
                         <div class="col-md-12 form-group">
                             <label for="field-street-social-emp">Street</label>                   <input id="field-street-social-emp" name="streetCompany" class="form-control" type="text"/>
                          </div>
                     </div>
                 <div class="col-md-12 form-group">
                     <div class="row">
                         <label for="foto-empresa">Foto/Logo:</label>
                         <div class="form-group">
                             <input type="file" name="fotoEmpresa"/>
                         </div>
                         <button class="btn btn-success pull-right" type="submit" value="Confirm" id="submit-edit-company"><span class="glyphicon glyphicon-ok"></span> Update</button>
                     </div>
                 </div>
             </div>
         </div>
     </div>
</form>

这是我的jquery片段:

$('#submit-edit-company').click(function(e) {
        e.preventDefault();

        var formToSubmit = $(this).parents('form#edit-company');
        var dataToSend = formToSubmit.serialize();
        var fileInput = formToSubmit.find('input[type="file"]')[0];
        var fileData = fileInput.attr('files')[0];
        console.log(fileData);

        $.ajax({
            url: 'app/editCompanyService',
            data: dataToSend,
            type: 'POST',
            dataType: 'JSON',
            contentType: false,
            cache: false,
            processData:false,
            beforeSend: function () {},
            success: function (return) {},
            error: function(jqXHR, textStatus, errorThrown) {
                console.log("Error... " + textStatus + "        " + errorThrown);
            }

当我调试javascript和监视时fileInput,我可以看到像这样的文件Files: FilesList[1] 0: File...,但是脚本只是停止并且在控制台中不显示任何内容,甚至错误。

$_FILESPHP中var是空的。(在指出所有配置这个帖子已经选中)。

也尝试了fileInput.prop('files')[0];new FormData(formToSubmit),但是我遇到了同样的问题。

我做错了什么?

詹姆士

尽管不是相同的问题,但此SO POST的答案(通过@u_mulder在问题注释中链接)解决了我的问题。

这是功能代码:

$('#submit-edit-company').click(function(e) {
        e.preventDefault();

        var formToSubmit = $(this).parents('form#edit-company');
        var dataToSend = new FormData(formToSubmit[0]);
        var fileInput = formToSubmit.find('input[type="file"]')[0];
        var fileData = fileInput.attr('files')[0];
        console.log(fileData);

        $.ajax({
            url: 'app/editCompanyService',
            data: dataToSend,
            type: 'POST',
            dataType: 'JSON',
            contentType: false,
            cache: false,
            processData:false,
            beforeSend: function () {},
            success: function (return) {},
            error: function(jqXHR, textStatus, errorThrown) {
                console.log("Error... " + textStatus + "        " + errorThrown);
            }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Symfony2:使用Ajax和jQuery上载文件

来自分类Dev

从文件系统提供上载文件的问题

来自分类Dev

上载文件并在MVC和JQuery中获取上载百分比

来自分类Dev

通过ajax上载多个文件,多次上载文件

来自分类Dev

使用FormData和multer上载文件

来自分类Dev

使用ASP.Net和IIS通过SSL上载文件

来自分类Dev

使用ASP.Net和IIS通过SSL上载文件

来自分类Dev

如何使用jQuery和xhr2上载文件(返回空的$ _FILES)

来自分类Dev

使用php和ajax无法在与表单相同的页面上载文件

来自分类Dev

PHP上载文件未保存到上载文件夹

来自分类Dev

上载文件并通过multer传递附加参数

来自分类Dev

通过queryString上载文件/保存而没有文件上载控制

来自分类Dev

使用jQuery上载文件时显示loading.gif

来自分类Dev

PHP / WAMP:无法打开上载文件的流错误

来自分类Dev

上载文件烦人错误

来自分类Dev

通过PHP表格下载文件

来自分类Dev

通过Go Runtime获取Google Cloud Storage上载文件的公共链接

来自分类Dev

通过wp_handle_upload删除未放在上载文件夹中的图像

来自分类Dev

通过Jaxax REST Client界面与第三方服务器上载文件

来自分类Dev

上载文件,我无法通过“ tuple”对象,没有属性“ startswith”错误

来自分类Dev

设置用户通过FTP上载文件的默认所有者

来自分类Dev

使用webkitDirectory和Java Servlet在文件夹/子目录中上载文件

来自分类Dev

如何在上载文件中执行一个PHP文件

来自分类Dev

上载文件时,为文档创建一个文件夹以放入PHP

来自分类Dev

用php和polymer下载文件

来自分类Dev

用ajax和php下载文件

来自分类Dev

KendoUI上载文件数据属性

来自分类Dev

上载文件时/ upload /的Django SuspiciousOperation

来自分类Dev

在另一页上载文件

Related 相关文章

热门标签

归档