我使用下面显示的jQuery $ .post()发布到我的控制器:
var data = {
user_id : $('#users-area [data-toggle="dropdown"]').attr('data-id'),
message : $('[data-form="send_notification"] [data-input="message-textarea"]:last').val()
};
console.log(data.user_id);
console.log(data.message);
$.post(URL+'notifications/send_notification', data, function(e){
if(e.status){
$('body').append('<div class="success_box"><span class="glyphicon glyphicon-thumbs-up"></span><p>Notification sent</p></div>');
$('.success_box').delay(1200).fadeOut();
window.location = window.location.href;
} else {
//alert('Uh oh! Something went wrong, please try again..');
}
});
在我的控制器中我只是:
public function send_notification(){
//die('msg: '.$this->input->post('message'));
die('uid: '.$this->input->post('user_id'));
}
这是表格的代码:
<div id="send_message" class="lightbox">
<h3>Send Notification</h3>
<?php echo form_open('notifications/send_notification', 'data-form="send_notification"'); ?>
<label for="to-user">To </label>
<div id="users-area" class="btn-group dropdown"><button data-users="users" type="button" class="btn btn-default">Select a user</button><button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button>
<ul data-dropper="user-dropdown" id="user-drop" class="dropdown-menu" role="menu">
<li><a data-id="0" href="#">All Users</a></li>
</ul></div>
<br>
<label for="message">Message </label><br>
<textarea value="" data-input="message-textarea" id="message"></textarea>
<br>
<p><?php echo form_submit('', 'Send', 'class="btn btn-primary"'); ?></p>
<?php echo form_close(); ?>
</form>
结果是我没有得到任何消息或user_id的值......根本没有...
请帮忙!
答案 0 :(得分:0)
问题是我在jQuery中使用表单$ .post()函数后没有返回false,这导致表单被推送,因此页面被刷新,因此刷新后没有post值。见下文:
var data = {
user_id : $('#users-area [data-toggle="dropdown"]').attr('data-id'),
message : $('[data-form="send_notification"] [data-input="message-textarea"]:last').val()
};
console.log(data.user_id);
console.log(data.message);
$.post(URL+'notifications/send_notification', data, function(e){
if(e.status){
$('body').append('<div class="success_box"><span class="glyphicon glyphicon-thumbs-up"></span><p>Notification sent</p></div>');
$('.success_box').delay(1200).fadeOut();
window.location = window.location.href;
} else {
//alert('Uh oh! Something went wrong, please try again..');
}
});
return false;
谢谢!