Foxtable(狐表)用户栏目专家坐堂 → cookies 没有起效果


  共有2536人关注过本帖树形打印复制链接

主题:cookies 没有起效果

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
cookies 没有起效果  发帖心情 Post By:2017/10/26 18:46:00 [只看该作者]

老师,不知道是不是我用法不对,cookies没有添加成功
这是添加cookies,弹出的openid是有的

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20171026184450.png
图片点击可在新窗口打开查看
这是获取cookies,弹出的没有openid

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20171026184327.png
图片点击可在新窗口打开查看

代码如下:
添加cookies:
    Dim ul As String  = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code"
    ul = CExp(ul,appid,secret,e.GetValues("code"))
    
    Dim hc As new HttpClient(ul)
    Dim jo As JObject = JObject.Parse(hc.GetData)
    If jo("openid") IsNot Nothing Then '如果获取openid成功(成功的话,还会同时返回一个accesstiken,用于获取用户详情)
        OpenID = jo("openid")
        Dim drwx As DataRow  = DataTables("WXUsers").sqlFind("openid ='" & Openid & "'")
        If drwx IsNot Nothing Then
            UserNamewx = drwx("nickname")
        Else
            ul = "https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN "
            '根据openid和accesstoken获取用户详情,注意这里这个accesstoken不是普通accesston,只能用于网页授权
            hc = New HttpClient(CExp(ul, jo("access_token"), OpenId))
            jo = jo.Parse(hc.GetData)
            If jo("openid") IsNot Nothing Then
                UserNamewx = jo("nickname")
                drwx = DataTables("WXUsers").AddNew()
                Dim nms() As String = {"openid","nickname","sex","city","country","province","headimgurl"} '""
                For Each nm As String In nms
                    drwx(nm) = jo(nm)
                Next
                drwx("账套") = zhangtao
                drwx("addtime") = Date.now
                drwx.Save
                DataTables("WXUsers").loadfilter = "Openid = ''"
                DataTables("WXUsers").load
            Else
                e.WriteString(jo.ToString) '在用户浏览器显示错误信息
                Return
            End If
        End If
        e.AppendCookie("usernamewx",UserNamewx) '用户名和openid存储在Cookie中
        e.AppendCookie("OpenID",OpenID)
        messagebox.show(Date.now & openid)
    Else
        e.WriteString(jo.ToString) '在用户浏览器显示错误信息
        Return
    End If    
End If
e.WriteString(sb.ToString)


获取cookies的代码页面:
Dim e As  RequestEventArgs = args(0)
Dim wb As New weui


If e.PostValues.Count = 0 Then
    wb.AddPageTitle("","ph1","微信关联姓名","")
    wb.AddForm("","form1","")
    With wb.AddInputGroup("form1","ipg1","请您填写基本信息")
        With .AddInput("name","姓名","text")
            .Placeholder = "您的姓名"
        End With
    End With
    With wb.AddButtonGroup("form1","btg2",True)
        .Add("zc", "注册", "submit")
    End With
Else
    Dim openid As String = e.cookies("openid")
    messagebox.show(Date.now & openid)

    Dim dr As DataRow = DataTables("WXUsers").sqlFind("openid  ='" & OpenID & "'") '根据openid找出对应的行
    If dr IsNot Nothing '
        dr("name") = e.PostValues("name")
        dr.save()
    End If

    With wb.AddMsgPage("","msgpage","关联成功", "欢迎您的加入,请关闭此页面") '生成成功提示页
    End With
    
End If
e.WriteString(wb.Build) '生成网页

[此贴子已经被作者于2017/10/26 20:13:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/26 19:45:00 [只看该作者]

第一段的msgbox是否正常弹出了?

 

第二段的msgbox你什么时候调用的?用什么样的调用?


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2017/10/26 19:52:00 [只看该作者]

甜老师,标黄色的都正常弹出,调用的msg只有前面的时间,没有cookies

调用,标黄色的:

获取cookies的代码页面:
Dim e As  RequestEventArgs = args(0)
Dim wb As New weui

If e.PostValues.Count = 0 Then
    wb.AddPageTitle("","ph1","微信关联姓名","")
    wb.AddForm("","form1","")
    With wb.AddInputGroup("form1","ipg1","请您填写基本信息")
        With .AddInput("name","姓名","text")
            .Placeholder = "您的姓名"
        End With
    End With
    With wb.AddButtonGroup("form1","btg2",True)
        .Add("zc", "注册", "submit")
    End With
Else
    Dim openid As String = e.cookies("openid")
    messagebox.show(Date.now & openid)

    Dim dr As DataRow = DataTables("WXUsers").sqlFind("openid  ='" & OpenID & "'") '根据openid找出对应的行
    If dr IsNot Nothing '
        dr("name") = e.PostValues("name")
        dr("mobi") = e.PostValues("mobi")
        dr.save()
    End If

    With wb.AddMsgPage("","msgpage","关联成功", "欢迎您的加入,请关闭此页面") '生成成功提示页
    End With
    
End If
e.WriteString(wb.Build) '生成网页

[此贴子已经被作者于2017/10/26 20:13:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/26 20:36:00 [只看该作者]

你尝试这样写

 

 

        e.AppendCookie("OpenID",OpenID)
        e.Cookies.add("OpenID",OpenID)
        messagebox.show(Date.now & openid)

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2017/10/26 21:09:00 [只看该作者]

甜老师,我这三个依次试过去,都不行。不知道到底哪个环节出错了。

这三个我都试过,都不行。不知道是不是上面代码的问题。
        wb.AppendCookie("OpenID",OpenID)
        e.AppendCookie("OpenID",OpenID)
        e.Cookies.add("OpenID",OpenID)
        messagebox.show(Date.now & openid)
第一个弹出有openid

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20171026210821.png
图片点击可在新窗口打开查看
第二个弹出就没有cookies了

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20171026210838.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/10/26 21:09:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/26 21:14:00 [只看该作者]

1、注意大小写,大小写敏感的。

 

 

2、你测试过程中,有没有退出浏览器?

 


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2017/10/26 21:24:00 [只看该作者]

我全部换成了小写,也用别人的微信打开。还是不行。

应该就是哪一个小地方没想到的地方搞错了。

但是怎么也都没有报错,也找不出来。

其他地方的cookies都可以用
[此贴子已经被作者于2017/10/26 21:25:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/26 21:26:00 [只看该作者]

以下是引用fubblyc在2017/10/26 21:24:00的发言:
我全部换成了小写,也用别人的微信打开。还是不行。

应该就是哪一个小地方没想到的地方搞错了。

但是怎么也都没有报错,也找不出来。
[此贴子已经被作者于2017/10/26 21:24:15编辑过]

 

修改成小写后,再打开,看代码是否真正修改了。单纯修改大小写不做其它修改不会保存代码。


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2017/10/26 21:40:00 [只看该作者]

甜老师,我看了,是有都改了。
哈哈,有点崩溃的感觉。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/26 21:52:00 [只看该作者]

1、单独做一个新的网页测试cookie功能,少量代码测试cookie功能,看是否正常。

 

2、如果不正常,说明你测试过程不正确;如果正常,说明你原来代码有问题。


 回到顶部
总数 15 1 2 下一页