当前位置: 代码迷 >> PHP >> php中怎么接收Ajax POST数据
  详细解决方案

php中怎么接收Ajax POST数据

热度:12   发布时间:2016-04-28 17:39:06.0
php中如何接收Ajax POST数据
本帖最后由 u011547588 于 2015-04-04 19:01:44 编辑
<div class="dialog-comment-list-box">
<div class="loading-img"><table><tr><td><img src="tpl/default/img/loading.gif" alt="loading"><p>正在加载联系人</p></td></tr></table></div>
<ul class="dialog-comment-list">
<!-- <li class="dialog-comment-list-item">what's going on?</li>
<li class="dialog-comment-list-item reply">what's going on?</li>
<li class="dialog-comment-list-item">what's this?</li>
<li class="dialog-comment-list-item">what's this?</li>
<li class="dialog-comment-list-item reply">???</li>
<li class="dialog-comment-list-item"><img src="http://pic.yupoo.com/huang-yu/DFR1RRtM/small.jpg" alt="pic"></li> -->
</ul><!-- /.dialog-comment-list -->
</div>
<div class="dialog-comment-edit">
<textarea name="" id="edit"></textarea>
</div><!-- /.dialog-comment-edit -->
<div class="site-im-dialog-footer">
<div class="for-post" data-toggle="popover" data-content="<small>写点什么再发吧!</small>">
<kbd><kbd>Ctrl</kbd>+<kbd>Enter</kbd></kbd>
<button class="btn btn-success btn-sm" id="post-reply"><i class="fa fa-paper-plane"></i> 发送</button>
</div>

</div><!-- /.site-im-dialog-footer -->
</div>



/**
 * 发送信息/获取信息
 */
// 清除定时器
function clearChatTimers(id){
if(id){
//请除指定用户定时执行
    if(aPChatTimers[id]){
     clearTimeout(aPChatTimers[id]);
     loadFlag = false;
//      console.log('clear:'+aPChatTimers[id]);
}
}else{
//请除所有用户定时执行
for (var i=0;i<aPChatTimers.length;i++){
if(aPChatTimers[i]){
loadFlag = false;
     clearTimeout(aPChatTimers[i]);
//      console.log('clear:'+aPChatTimers[i]);
}
}
}


};
/*

uid


*/


/**
 * 返回接收者Id
 * @returns
 */
function getRecipientIdFromReplyBtn(){
var uid = $.trim($("#post-reply").attr('data-send-uid'));
if(uid == undefined||uid ==''){
uid = false;
}
return uid;
}
/**
 * 清空发送的文本内容
 * @returns
 */
function clearInputMessage(){
$("#edit").val('');
$("#post-reply").focus();
}

/**
 * 获取发送的文本内容
 * @returns
 */
function getInputMessage(){
var  sMsg = $.trim($("#edit").val());
if(sMsg == undefined||sMsg ==''){
sMsg = false;
}
return sMsg;
}

//发送信息
 function sendPrivateMessages(){
 var uid,message;
 uid = getRecipientIdFromReplyBtn();
 message  = getInputMessage();
 
 if(message === false){
  $('.for-post').popover('show');
$("#edit").focus(function() {
$('.for-post').popover('hide');
});
 return false;
 }
 
   $("#post-reply").attr('disabled','disabled');
 clearChatTimers(0);

        //index.php?do=webim&action=send_messages    POST
 
     $.post('index.php?do=webim',{action:'send_messages',uid:uid,sMessage:message}, function(json) {
     if(json.status == '1'){
      if($('.dialog-comment-list').find('li').length >0){
      var _scrollHeight = $('.dialog-comment-list').find('li').last().offset().top;
      $("#post-reply").closest('.site-im-dialog').find('.dialog-comment-list').animate({zoom:1},function(){
     $(".dialog-comment-list-box").data('jsp').scrollTo(0, _scrollHeight);
     });
      }

      $("#post-reply").removeAttr('disabled');
      clearInputMessage();
      clearChatTimers(0);
       getPrivateMessages(uid);
     }else{
     tipsOp(json.msg,'error');
     $("#post-reply").removeAttr('disabled');
     }
     
     },'json');
}



返回    {"msg":"\u53d1\u9001\u6210\u529f","status":"1","data":[]}

单击发送或 Ctrl+Enter 按钮不抬起 (如图)







如何才能单击发送按钮或者按CTRL+ENTER    把数据POST到php处理 求PHP代码





------解决思路----------------------
执行 $.post('index.php?do=webim',{action:'send_messages',uid:uid,sMessage:message} ... 后
php 得到
$_GET['do'] 为 webim
$_POST['action'] 为 send_messages
$_POST['uid'] 为 uid 的值
$_POST['sMessage'] 为 message 的值
  相关解决方案