很多人问的QQ评论和PJAX提交

3个月前  424 ℃

<?php

namespace app\index\controller;
/**
* 文章控制器类
*/
class ArcComment extends Init
{
 
  public function getqqnickname(){
      if (request()->isPost()){
          $qq = input('param.qq');
          if(!$qq || !preg_match('|^[1-9]\d{4,10}$|i',$qq)){
              return json(array('code'=>0,'msg'=>'QQ格式错误'));
          }
          $nickname = file_get_contents('http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins='.$qq);
          $image = 'http://q.qlogo.cn/headimg_dl?dst_uin='.$qq.'&spec=100';

          if(strstr($nickname,'portraitCallBack')){
              return json(array('code'=>1,'msg'=>'成功','image'=>$image,'data'=>isset(json_decode(trim(mb_convert_encoding($nickname, "UTF-8", "GBK"),'portraitCallBack()'),true)[$qq][6])?json_decode(trim(mb_convert_encoding($nickname, "UTF-8", "GBK"),'portraitCallBack()'),true)[$qq][6]:'游客'));
          }else if(strstr($nickname,'_Callback')){
              return json(array('code'=>0,'msg'=>'获取昵称失败'));
          }
          return json(array('code'=>0,'msg'=>'获取昵称失败'));
      }
  }


   public function archiveSave()
   {
       if (request()->isPost()){
           $data = input('post.');   //aid
           if(!$data["qq"]) return json(array('code'=>0,'msg'=>'请填写QQ'));
           if(!$data["nickname"]) return json(array('code'=>0,'msg'=>'请填写昵称'));
           if(!$data["content"]) return json(array('code'=>0,'msg'=>'请填写内容'));
           $s_data=[];
           $s_data["title"] = strip_tags($data["nickname"]);
           $s_data["content"] = strip_tags($data["content"]);
           $s_data["create_time"] = date("Y-m-d H:i:s",time());
           $s_data["member_id"] = $data["did"];
           $s_data["admin_avatar"] = $data["img"];
           $s_data["cateid"] = $data["cateid"];
           $s_data["turl"] = $data["turl"];
           if(db('feedback')->insert($s_data)){
               return json(array('code'=>1,'msg'=>'评论成功'));
           }else{
               return json(array('code'=>0,'msg'=>'评论失败'));
           }
       }
   }
}
 
<script type="text/javascript">
   $(function () {
       $('body').on("blur", '#qq', function(event){
$('#nickname').val('');
           var qq = $(this).val();
           var url = $(this).attr('ajax-url');
           $.ajax({
url: url,
               data:{'qq':qq},
               datatype:'json',
               type:'post',
               success:function(mes){
if(!mes.code){
layer.msg("请填写正确qq", {icon: 2, anim: 6, time: 1000});
                       return false;
                   }if (mes.data == ''){
$('#nickname').val('游客');
                   } else {
$('#nickname').val(mes.data);
                   }
$("#img").attr("src",mes.image)
$("#imgV").val(mes.image);
               }});
       });
       $(".ajax_submit").submit(function () {
$.ajax({
url: $(this).attr("action"),
               datatype:'json',
               type:'post',
               data:$(this).serialize(),
               success:function(data){if(data.code == 1){layer.msg(data.msg, {icon: 1, time: 1000}, function(){location.reload();});}else{layer.msg(data.msg, {icon: 2, anim: 6, time: 1000});}}
});
           return false;
       })
layui.use(['layer', 'form'], function(){
var layer = layui.layer
               ,form = layui.form;
       });
   })
</script>


  1. 游客 2018-05-12 23:40:58 说:

    这是ajax pjax是局部刷新会改变url,和正常访问一样的

    空灵 2018-05-12 23:40:58 说:

    哈哈,还可以