为什么设置了域名,微信还是跨域拒绝?

XMLHttpRequest cannot load https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxc295e9******5464&secret=3b8c9560ad88************290ba4d0. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://wujinzhilu.com' is therefore not allowed access.

图片描述

阅读 39.2k
评论
    6 个回答

    这样会跨域的,你代码的服务器的域名一定跟微信的域名不一样的,token只能通过服务端取,官方有demo:http://demo.open.weixin.qq.com/jssdk/sample.zip,你在公众号后台配置的域名是用来给微信做验证用的,不是用来解决跨域的。

      • 399

      token要放在服务器就会解决跨域问题,同时补充下为什么要放到服务器生成:

      1. 微信对token的生成获取是有次数限制的,每个客户端单独获取,很容易超过限制。每日获取token的限制是2000次。
        详细内容:接口频率限制说明

      2. access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token)
        某一个客户端新生成一个token后,其他的客户端的token都会失效
        官方解释:如果第三方不使用中控服务器,而是选择各个业务逻辑点各自去刷新access_token,那么就可能会产生冲突,导致服务不稳定。
        详细内容:获取access token

        • 750

        取token不能在前端啊。。。

          • 1
          • 新人请关照

          token是后台生成再写进前端页面的,你这样写是不行的

            token 使用后端写好的接口获取,可以避免跨域问题。

              然而还是没没解决

              该答案已被忽略,原因:

                撰写回答

                登录后参与交流、获取后续更新提醒

                相似问题
                推荐文章