Ajax上传没有执行PHP脚本

时间:2015-12-15 08:52:09

标签: javascript php jquery ajax

我通过控制台登录chrome找到了我的错误并将其删除但我现在的问题是它没有调用应该处理数据的php脚本。

<legend><strong>Select type of machine model</strong></legend>
<form id="form1" name="form1" method="post" enctype="multipart/form-data">
<select id="machine" name="machine" class="field" >
<option value="" selected="selected">Choose..</option>
<option value="machine1.php">Machine 1</option>
<option value="machine2.php">Machine 2</option>
</select>
</fieldset>
<fieldset>
    <legend><strong>Select a file to upload</strong></legend>       
    <input type="file" id="files" name="files[]" size="40" multiple="multiple" />
     <br />
      <p></p>
       <input type="submit" value="Upload File" id="upload"/>
       <br />
        <br />
    </form>
    <div id="information">
    </div>
</fieldset>
<fieldset>
<legend><strong>Uploaded Files</strong></legend>
    <div id="uploaded"></div>
</fieldset>
<script type="text/javascript">
jQuery(document).ready(function(e){
jQuery('#upload').click(function(e){


    var formData = new FormData($('form')[0]);
    var page = $("#machine option:selected").val();

    //check the output here
    e.preventDefault();
    console.log("formData",formData)

    $.ajax({
        url: page,
        type: 'POST',
        data: formData,
        cache: false,
        contenType: false,
        processData: false,
        success: function(data){
            $("#information").empty();
            $("#information").append(data);
        }
    });
});

});       

它变成了我的困境,我现在已经连续3天搜索谷歌了,我发现了一些有用的代码,但是当我将它应用到我的时候,它甚至不起作用,我没有。提前谢谢。

我终于得到了我的问题的答案,谢谢你给我的帮助..

$(document).ready(function(){
$("#form1").submit(function(e){
var formObj = $(this);
var page = $("#machine option:selected").val();

if(window.FormData !== undefined)
{
var formData = new FormData(this);

    $.ajax({
        url: page,
        type: 'POST',
        data: formData,
        mimeType: "multipart/form-data",
        contentType: false,
        cache: false,
        processData: false,
        success: function(data){
        $("#uploaded").empty();
        $("#uploaded").append(data);

}
});
e.preventDefault();

}
});

});

2 个答案:

答案 0 :(得分:0)

$( document ).ready(function(){
    function eventListener(){
        $('#upload').click(function(){
            event.preventDefault();
            var formData = new FormData($('form')[0]);
            var page = $("#machine option:selected").val();
            $.ajax({
                url: page,
                type: 'POST',
                data: { formData : formData },
                cache: false,
                contenType: false,
                processData: false,
            }).done(function(data){
                console.log(data);
                $("#information").empty();
                $("#information").append(data);
            });
        });
    }
eventListener();
}

有了这个,您可以使用$ _POST [&#34; formData&#34;]在PHP上访问您的formData变量。但是如果不知道自己想要达到什么目标,就很难进一步帮助你。请给我们更多信息并告诉我们您的数据&#34;应该返回并在控制台中返回。 希望我能提供帮助。

答案 1 :(得分:0)

检查您的formdata,这不是一个解决方案,但可以帮助您调试自己的代码。

<script type="text/javascript">
$(document).ready(function(e){
    $('#upload').click(function(e){


        var formData = new FormData($('form')[0]);
        var page = $("#machine option:selected").val();

        //check the output here
        e.preventDefault();
        console.log("formData",formData)

        $.ajax({
            url: page,
            type: 'POST',
            data: formData,
            cache: false,
            contenType: false,
            processData: false,
            success: function(data){
                $("#information").empty();
                $("#information").append(data);
            }
        });
    });
})