AJAX刷新部分页面为什么不起作用?

时间:2016-01-05 20:06:20

标签: javascript jquery ajax

我花了两天时间试着写一些允许我通过AJAX上传文件的东西,现在我真的很接近我真正想做的事情,我可以通过AJAX上传文件,但这个想法的重点是我可以上传文件而不刷新页面,现在它刷新我的页面,我不知道如何解决它... 这是我目前的JS

 $('#profilovka').validate({
        submitHandler: function (form) {
            var aFormData = new FormData();

            aFormData.append("subor", $('#subor').get(0).files[0]);

            $.ajax({
                type: "POST",
                url: "upravit.php",
                processData: false,

                contentType: false,
                data: aFormData,
                success: function (data) {
                    $('#nove').load(document.URL + ' #nove');

                }
            })
        }

    });

我的表单看起来像这样

<form class="profilovka" role="form" id="profilovka" method="post"  enctype="multipart/form-data" >
    <tr>
        <td><label for="subor">Nahraj profilovku:</label></td>
        <td><input type="file" name="subor" id="subor"></td>
        <td><button type="submit">Save</button</td>
    </tr>
</form>

关闭代码$('#nove')。load(document.URL +'#nove');应该这样做,在它工作的不同ajax方法中,我认为错误是在我的表单方法中,并且我在那里提交按钮所以我试图使它像按钮并给它一个onclik =“method()”我让我的JS看起来像函数方法(){ 您可以看到的当前JS代码}但在这种情况下,脚本不会做任何事情......有什么简单的方法可以做到吗?谢谢你的每一个帮助

2 个答案:

答案 0 :(得分:0)

您需要在提交处理程序中添加return false;,以防止自动提交表单。

答案 1 :(得分:0)

submitHandler回调的第一个参数是事件,您需要执行this

submitHandler: function (event) { event.preventDefault() // And the rest of the code }

P.S:为了上帝的爱,请不要用桌子作为格子。