【发布时间】:2015-03-30 08:47:57
【问题描述】:
我正在尝试从 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'),它被重定向到上一页,即包含已提交表单的页面。我的代码是否有任何错误。
【问题讨论】:
-
您应该使用
$this->load->view('quickSetup/addNewHotel',$data,TRUE);来获取数据,而不是在 ajax 中呈现视图。 -
我需要渲染该页面包含的所有视图。不仅仅是数据。
标签: javascript php jquery ajax codeigniter