ajax调用后页面重新加载

时间:2017-06-20 16:59:29

标签: javascript php ajax

我有一个简单的调用ajax将formdata传递给php

AJAX代码

$('#upload').on('change', function (e) {
    e.preventDefault();
    $('#texto').val($(this).val());
    if ($('#lefectuado').css('display') === 'block') {

        var file_data = $('#upload').prop('files')[0];
        var form_data = new FormData();
        form_data.append('file', file_data);

        var session;
        $.ajax({ 
            url: "http://localhost/sitePAW/exam.php",
            type: "post",
            cache: false,
            contentType: false,
            processData: false,
            data: form_data,
            success: function (text) {
                session = JSON.parse(text);

                $("#Titulo").val(session.Title);
                $("#Autor").val(session.Creator);
                $("#Resumo").val(session.Description);
                $("#Conteudo").val(session.Subject);
                $("#Pl").val(session.Keywords);

            }
        });

但在它执行此操作后重新加载页面我该如何阻止它?

它发生了一件奇怪的事情,这只发生在谷歌浏览器

1 个答案:

答案 0 :(得分:0)

是否有任何按钮或链接被点击?

从这段代码中我猜你有一个上传表单,当输入值发生变化时,你会自动通过ajax发送信息。

但是如果您实际上是在更改输入然后单击按钮(如上传按钮),则会自输入更改后首先调用此代码,然后在单击按钮后“on click”事件将会消失,但它没有被捕获,所以它只是加载一些超链接,默认情况下,如果没有设置只是重新加载页面。

通常人们会将默认超链接设置为“#”,因此如果页面重新加载到“locahost:8000 /#”之类的内容,那么这可能就是正在发生的事情。