首页 > 后端开发 > php教程 > php中如何接收Ajax POST数据

php中如何接收Ajax POST数据

WBOY
发布: 2016-06-23 13:37:17
原创
1764 人浏览过

<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代码





回复讨论(解决方案)

你这代码是啥问题 后台获取不到还是啥?说得具体点。

你这代码是啥问题 后台获取不到还是啥?说得具体点。




php 获取不到

你这代码是啥问题 后台获取不到还是啥?说得具体点。



HTML代码

<button class="btn btn-success btn-sm" id="post-reply"><i class="fa fa-paper-plane"></i> 发送</button>
登录后复制


//发送信息 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');   // 单击按钮之后 按钮是disabled 禁止的     clearChatTimers(0);         //index.php?do=webim&action=send_messages    POST 到 后端处理       //  php返回 json数据  {"msg":"\u53d1\u9001\u6210\u529f","status":"1","data":[]}     /*        我对js实在不行,   不知php 如何获取 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');}
登录后复制


执行 $.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 的值

执行 $.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 的值



谢了,我以为 action 是GET参数 
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板