svipmage 2017-11-07 10:14 采纳率: 0%
浏览 653

Thinkphp页面参数怎么来的

$.ajax({
type: 'POST',
data:{type:"ajaxGetCode"},
url: "{:U('WzydCommon/ajaxGetCode', array('activityid' => $_GET['activityid'] ,'openid'=>$openid,'token'=>$token))}",
data:{phone:$("#phone").val()},
dataType: 'json',
async: true,
cache: false,
error: function(){},
success:function(json){}
这个方法里面 openid'=>$openid,$openid这个是没有定义的(页面搜索过,console.log或者alert都是未定义),首先前一个页面会带一个http://xxx/openid/xxx参数过来,但是这个应该用$_GET['openid']这样取到吧,但是这里直接用 而且跳转的页面也有这个参数

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 03:42
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在你的PHP代码中,$openid 是通过从URL中获取的HTTP头部信息来设置的。这通常是在请求被发送之前,在服务器端处理时完成的。

    例如,如果用户访问了一个带有以下URL的页面:

    http://example.com/index.php?openid=your_open_id_here
    

    那么在服务器上,它会解析URL并从中提取出openid值。然后将这个值传递给后续的AJAX请求,如下所示:

    $.ajax({
      // ...
      data: {openid: "your_open_id_here"},
      // ...
    });
    

    在这个例子中,服务器会返回一个包含openid值的数据包,然后客户端就可以使用这个值来调用后续的API或操作。

    如果你想要手动添加openid参数到URL中,你可以这样做:

    // 假设你有一个函数,用于生成URL:
    function generateUrl(secure) {
      return secure ? `${window.location.protocol}//${window.location.host}/index.php?openId=${encodeURIComponent(openId)}&timestamp=${new Date().getTime()}&nonce=${Math.random()}` : window.location.href;
    }
    

    然后,你可以像这样在JavaScript中调用这个函数,并将其作为URL的一部分传递:

    var secure = true; // 设置是否使用HTTPS
    var url = generateUrl(secure);
    window.open(url, '_blank');
    

    请注意,这种方法可能会导致安全问题,因为它将敏感数据暴露在网络环境中。在生产环境中,你应该考虑使用更安全的方法,比如使用OAuth或其他身份验证协议。

    评论

报告相同问题?