请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,我在调试获取token接口时,$wxResult为null


//img1.sycdn.imooc.com//szimg/5a5018610001881655001260.jpg

$result = curl_get($this->wxLoginUrl);

这个$result得到的是false.

如果我把上面的参数,按下面的格式拼接,放在地址栏里,比如这样:https://api.weixin.qq.com/sns/jscode2session?appid=wxa38afa34787f56fb&secret=93e5c8a8a1e46bcb0d749d55ec12eeca&js_code=061dXT720pFvXF1Vo0420g2K720dXT79&grant_type=authorization_code

就能返回到正确的值。

{
         session_key: "9LokXmxOc0qBDzfrMu87rA==",
         expires_in: 7200,
         openid: "odRAB0SOqiMudKgsgdH6q2hFuwe0"
}


调用的是curl_get方法是参考您的。

function curl_get($url, &$httpCode=0){
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $url);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   //不做证书校验,部署在linux环境下请改为true
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
   $file_contents = curl_exec($ch);
   $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    // var_dump($url);
    // var_dump($file_contents);
    // exit;

    curl_close($ch);
   return $file_contents;
}

关于证书那一行,fasle,true 都试过了。还是返回为空。

如果把$url打印出来,贴在地址栏,能返回的。

但是$file_contents打印出来,就是false;

code码我在 工具里申请后,打印出来,没让它使用的。然后放在接口里调用。

//调用登录接口

   wx.login({

     success: function (res) {

       var code = res.code;

       console.log('code');

       console.log(code);

       retrun;

       wx.request({

         url: baseUrl + '/token/user',

         data: {

           code: code

         },


现在学习就卡在这里了,老师请您看看好吗?谢谢。


正在回答

2回答

理论上不应该这样。因为这是个线上应用,具体需要调试一下。你可以下载源代码 跑一下看看,不会有问题。

0 回复 有任何疑惑可以回复我~
  • 提问者 yyii #1
    非常感谢老师!好的,我再试试。
    回复 有任何疑惑可以回复我~ 2018-01-10 22:01:25
  • 天涯古巷 回复 提问者 yyii #2
    我也是和你一样的问题,你最后解决了吗
    回复 有任何疑惑可以回复我~ 2018-02-11 13:11:09
  • 提问者 yyii 回复 天涯古巷 #3
    没有解决呢,你现在解决了吗?我们加一下QQ吧:2998658517
    回复 有任何疑惑可以回复我~ 2018-03-10 23:02:39
提问者 yyii 2019-02-21 17:44:44

之前学习时遇到,好久没有学习了。又重新学习这里,又是这个问题。
本地还是不行,不知为什么,放在线上就可以。

有同学知道原因吗?谢谢指点。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信