ajax访问微信接口,如何调用微信开放平台登录接口

Posted weixin_39685459

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax访问微信接口,如何调用微信开放平台登录接口相关的知识,希望对你有一定的参考价值。

在调用微信开放平台时遇到一个问题,使用ajax获取token时,出错。

1、type为json时,出现:“ No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '(XX网站域名)' is therefore not allowed access.”

2、type为jsonp时,能在chrome的控制台看到返回的数据,但是console里出现:“Uncaught SyntaxError: Unexpected token ”;也无法把返回的数据写到html里。

以下是代码:

第一步,获取code

用微信登录

获取code

获取code

token:

openid:

获取用户信息

获取用户信息

姓名:

头像:

while (length)

var attr = arr[--length].split("=");

obj[decodeURIComponent(attr[0])] = !!attr[1] ? decodeURIComponent(attr[1]) : undefined;

return obj;

())

;

// 第一步,获取Code

var btn1=$("#btn1");

var APPID="H";(这里H是一个假设值)

var REDIRECT_URI=encodeURIComponent("http://www.XXXXX.com/test/logintext_wechat.html");

var SCOPE="snsapi_login";

btn1.on("click",function()

window.open("https://open.weixin.qq.com/connect/qrconnect?appid="+APPID+"&redirect_uri="+REDIRECT_URI+"&response_type=code&scope="+SCOPE+"&state=STATE#wechat_redirect")

);

// 第二步,获取accessToken

var btn2=$("#btn2");

var CODE=hey.locationSearch.code;

var SECRET="W";(这里W是一个假设值)

var tokenUrl="https://api.weixin.qq.com/sns/oauth2/access_token?appid="+APPID+"&secret="+SECRET+"&code="+CODE+"&grant_type=authorization_code";

btn2.on("click", function ()

$.ajax(

url:tokenUrl,

type:"get",

dataType:"JSONP",

success:function(data)

var token=data.access_token;

var openid=data.openid;

$("#token").html(token);

$("#openid").html(openid);

)

);

// 第三步,获取用户信息

var btn3=$("#btn3");

btn3.on("click",function()

var token3= $("#token").html();

var openid3=$("#openid").html();

var ajaxUrl="https://api.weixin.qq.com/sns/userinfo?access_token="+token3+"&openid="+openid3;

$.ajax(

url:ajaxUrl,

type:"get",

dataType:"JSONP",

success:function(data)

var name=$("#name");

var img=$("#img");

$(name).html(data.nickname);

$(img).attr("src",data.headimgurl);

)

)

在第二步获取token时就已经出错了,麻烦有调用微信登录接口的能够指教我一下,谢谢~~

以上是关于ajax访问微信接口,如何调用微信开放平台登录接口的主要内容,如果未能解决你的问题,请参考以下文章

微信登录

微信开放平台开发 网站应用微信登录

微信网页 第三方登录原理详解

微信开放平台开发 移动应用微信登录

SpringBoot 微信小程序保存微信登录者的个人信息

微信支付接口中为啥demo中提供的js调用不到支付界面