Chrome在提交表单后未从ajax加载视图

时间:2015-03-30 08:47:57

标签: javascript php jquery ajax codeigniter

我正试图从ajax查看页面并放入一些div。我目前在Codeigniter工作。

Jquery Ajax

  $(document).ready(function() {

    $("form#data").submit(function(){
       // form validation rules..
        var formData = new FormData($(this)[0]);

        $.ajax({
            url: base_url + "index.php/hotels/quick_addNewHotel",
            type: 'POST',
            data: formData,
            async: false,
            success: function (data) {
                $("#form-alert").html(" ");
                $("#step1").removeClass("progtrckr-todo").addClass("progtrckr-done");
                $("#quick_setup").html(data);
            },
            cache: false,
            contentType: false,
            processData: false
        });

        return false;
     }); 

  });

控制器(酒店)

 function quick_addNewHotel()
{
    if ($this->session->userdata('logged_in')) {
         //php code to post input form data to database

         $this->load->view('quickSetup/addNewHotel');
    } 
}

以上代码在Firefox中正常运行。在ajax成功时,视图被加载到div。但是在Chrome中试用。

表单数据已成功提交并存储在数据库中。但是,要加载视图$this->load->view('quickSetup/addNewHotel'),它会被重定向到上一页,该页面包含已提交的表单。我的代码是否有任何错误。

1 个答案:

答案 0 :(得分:0)

e.preventDefault();之前写下var formData,您就可以了。同时将function()更改为function(e)。我认为return false;对Chrome来说还不够。

希望我能帮到你。 :)