Uncaught (in promise) Error: ticket must be a string解决

客户端 SDK 使用 ticket 登录时报错

async function login(){
     
  const loginState = await auth.getLoginState();

  if(!loginState){
     
     请求开发者自有服务接口获取ticket
    const ticket = await fetch('...');
   
    await auth.signInWithTicket(ticket);
  }
}

通过下面的请求是无法返回所需要的数据,打印后是一个response原始对象

await fetch('...').then(res => console.log(res))  

通过.text()方法就可以获取到正确的值了

await fetch('云函数触发路径').then(res=>{
     
					res.text().then(res =>{
     
						auth.signInWithTicket(res).then(res =>{
     
							console.log('登录成功')
						});
					})	
				});

如果服务端返回的为json格式,同理使用.json方法获取即可

你可能感兴趣的:(小程序,js,javascript,es6)