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

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.

图片描述

阅读 45.4k
6 个回答

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

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

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

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

取token不能在前端啊。。。

新手上路,请多包涵

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进