我正在尝试使用jquery ajax处理来自 htmlform 的数据到codeigniter,但它没有返回任何值。
这是用于处理数据的jquery代码
$(document).ready(function(){
$("#chat_create_room").submit(function(){
var chat_name = $(".chat_name").val();
$("#response").html('<b>Fetching data...</b>');
$.ajax({
type: 'POST',
url: 'site/create_chat_room',
dataType: 'json',
data: {chat_room_name: chat_name},
success: function(data){
$("#response").html(data.chat_room_name);
$("#submit").css("display", "none");
}
});
return false;
});
这是用于从Jquery中获取数据的codeigniter控制器函数
public function create_chat_room(){
if($this->session->userdata('logged_in')){
$data = array(
'chat_room_name' => $this->input->post('chat_room_name')
);
$chat_room_name = json_encode($data);
$table_exists = $this->users->table_exists($chat_room_name);
if($table_exists){
echo 'Sorry the table you choose already exist!';
}else{
echo "<strong>".$chat_room_name."</strong> has been created!";
}
}else{
$this->load->view('view_site');
}
但是,如果我在codeigniter控制器功能中尝试这个,它可以正常工作
public function create_chat_room(){
$data = array(
'chat_room_name' => $this->input->post('chat_room_name')
);
$chat_room_name= json_encode($data);
echo $chat_room_name;
}
我想要的主要是,首先将给定值(,即Json对象)从Jquery处理到Codeigniter Controller,然后检查天气,数据库中是否存在给定值,如果值存在我用任何消息提醒用户
谢谢
答案 0 :(得分:0)
我一直在尝试不同的选择,但最后我得到了它 ,我只需要调整一些事情,比如不用处理json到codeigniter控制器,我只需要处理普通数据。
Jquery代码
$("#chat_create_room").submit(function(){
var chat_name = $(".chat_name");
$("#response").html('<img src="img/ugchat_loader.GIF"/>');
$.ajax({
type : 'POST',
url : 'site/create_chat_room',
data : chat_name,
success : function(res){
if(res == ""){
$("#response").html('Nothing returned!');
}else{
$("#response").html(res);
}
}
});
$(".chat_name").val('');
return false;
使用Codeigniter控制器
后,每个人都可以抓住所有东西public function create_chat_room(){
if($this->session->userdata('logged_in')){
sleep(3);
$chat_room_name = $this->input->post('chat_room_name');
$table_exists = $this->users->table_exists($chat_room_name);
if($table_exists){
echo '<div class="alert alert-danger"><strong>Error</strong> Sorry the chatroom name is already taken!</div>';
}else{
echo '<div class="alert alert-success"><strong>Success</strong> Your chatroom has been created</div>';
}
}else{
redirect(base_url()."site");
}
模型
基本上这个函数检查我们的数据库中是否包含表
并返回true或false;
之后,我们评估结果并在控制器中测试它,然后将数据返回给我们的html
public function table_exists($table_exists){
$tables = $this->db->table_exists($table_exists);
if($tables){
return true;
}else{
return false;
}
}
我希望它有所帮助 的中将nulldev 强>