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

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.

图片描述

阅读 38.3k
评论 2015-01-15 提问
    6 个回答
    rosen
    • 750

    取token不能在前端啊。。。

    评论 赞赏
      kingsy
      • 1
      • 新人请关照

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

      评论 赞赏

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

        评论 赞赏

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

          评论 赞赏
            塞翁
            • 399

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

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

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

            评论 赞赏

              然而还是没没解决

              该答案已被忽略,原因:

              评论 赞赏
                撰写回答

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