我正在尝试从ajax获取页面 View 并放入一些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;
});
});
Controller (酒店)
function quick_addNewHotel()
{
if ($this->session->userdata('logged_in')) {
//php code to post input form data to database
$this->load->view('quickSetup/addNewHotel');
}
}
以上代码在 Firefox 中运行良好。 View 在 ajax 成功时加载到 div。但在 Chrome 中尝试时。
表单数据提交成功并存入数据库。但不是加载 View $this->load->view('quickSetup/addNewHotel')
,而是重定向到上一页,该页面包含已提交的表单。我的代码有没有错误。
最佳答案
在 var formData
之前写入 e.preventDefault();
就可以了。还将 function()
更改为 function(e)
。我认为 return false;
对于 Chrome 来说还不够。
希望我有帮助。 :)
关于javascript - Chrome 提交表单后未从 ajax 加载 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29341876/