问题描述
进入授权,允许后在页面返回一个json数据段,已经显示在这个页面上,请问我要怎么获得这个数据呢,写入后台。request也收不到{"access_token":"ACCESS_TOKEN","expires_in":7200}我有这个了但接下来这个要怎么获取到后台
解决方案
解决方案二:
把这个json传到后台代码咯,如果是MVC可以传到控制器,如果是aspx页面,可以在aspx.cs后台方法,或者用ajax传值过去咯
解决方案三:
引用1楼q375938192的回复:
把这个json传到后台代码咯,如果是MVC可以传到控制器,如果是aspx页面,可以在aspx.cs后台方法,或者用ajax传值过去咯
就是不知道怎么把这个json传到后台。。ajax的话也得先拿的到这个数据。。
解决方案四:
这个应该是微信平台获取授权的接口返回的数据无论你怎样调用的微信的api,其实你都可以再后台直接发起请求,得到返回数据,而不需再前台通过JS+AJAX来得到另外,微信的api中应该有建议类似的操作,比如得到授权,比如微信支付等等都建议直接放在服务器后台处理,毕竟有些授权,可能需要用到微信的公共号信息等,放在前台不怎么安全
解决方案五:
定义一个类接收,你这个应该不会有前台介入吧?直接就应该是后台
解决方案六:
引用2楼laidanchao的回复:
Quote: 引用1楼q375938192的回复:
把这个json传到后台代码咯,如果是MVC可以传到控制器,如果是aspx页面,可以在aspx.cs后台方法,或者用ajax传值过去咯就是不知道怎么把这个json传到后台。。ajax的话也得先拿的到这个数据。。
你的意思是一个web页面或者说一个html页面上显示出来{"access_token":"ACCESS_TOKEN","expires_in":7200}这样子的么,这样的话你可以试着把整个页面从body开始转成一个documentHtml节点,然后获取InnerHtml,应该可以获取到这个吧....好吧,需求不是特别明确.
解决方案七:
没遇到过,帮顶下
解决方案八:
你说的微信哇。。。。你向微信的token获取接口发起请求后,如果格式正确,微信会返回给你一个json字符串,你自己把这个字符串里的token值解析出来呗。。。搜httpclient直接发一个请求
解决方案:
谢谢各位的帮助,我就不统一回复啦。我有朋友发我代码解决了!虽然看不懂什么意思,不过算是解决了,我拿出来分享下。string[]ss=GetAccess_tokenAndOpenid(appid,appsecret,code);stringaccess_token=ss[0];privatestring[]GetAccess_tokenAndOpenid(stringappid,stringappsecret,stringcode){stringurl=string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code",appid,appsecret,code);HttpWebRequesthttpWebRequest=(HttpWebRequest)WebRequest.Create(url);httpWebRequest.Method="GET";HttpWebResponsehttpWebResponse=(HttpWebResponse)httpWebRequest.GetResponse();StreamReaderstreamReader=newStreamReader(httpWebResponse.GetResponseStream(),Encoding.Default);stringjsonText=streamReader.ReadToEnd();returnGetAccess_tokenAndOpenid(jsonText);}privatestring[]GetAccess_tokenAndOpenid(stringjsonText){if(jsonText.Contains("errcode")){returnnull;}string[]ss=newstring[2];JsonReaderjsonReader=newJsonTextReader(newStringReader(jsonText));stringa="";while(jsonReader.Read()){if(jsonReader.TokenType.ToString()=="PropertyName"){a=jsonReader.Value.ToString();}else{if(jsonReader.TokenType.ToString()=="StartObject"){a="";}else{if(jsonReader.TokenType.ToString()=="EndObject"){a="";}else{if(a=="access_token"){ss[0]=jsonReader.Value.ToString();}elseif(a=="openid"){ss[1]=jsonReader.Value.ToString();}}}}}jsonReader.Close();returnss;}
解决方案:
谢谢各位的帮助,我就不统一回复啦。我有朋友发我代码解决了!虽然看不懂什么意思,不过算是解决了,我拿出来分享下。上面8楼那一段是错的。。string[]ss=GetAccess_tokenAndOpenid(appid,appsecret,code);stringaccess_token=ss[0];privatestring[]GetAccess_tokenAndOpenid(stringappid,stringappsecret,stringcode){stringurl=string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code",appid,appsecret,code);HttpWebRequesthttpWebRequest=(HttpWebRequest)WebRequest.Create(url);httpWebRequest.Method="GET";HttpWebResponsehttpWebResponse=(HttpWebResponse)httpWebRequest.GetResponse();StreamReaderstreamReader=newStreamReader(httpWebResponse.GetResponseStream(),Encoding.Default);stringjsonText=streamReader.ReadToEnd();returnGetAccess_tokenAndOpenid(jsonText);}privatestring[]GetAccess_tokenAndOpenid(stringjsonText){if(jsonText.Contains("errcode")){returnnull;}string[]ss=newstring[2];JsonReaderjsonReader=newJsonTextReader(newStringReader(jsonText));stringa="";while(jsonReader.Read()){if(jsonReader.TokenType.ToString()=="PropertyName"){a=jsonReader.Value.ToString();}else{if(jsonReader.TokenType.ToString()=="StartObject"){a="";}else{if(jsonReader.TokenType.ToString()=="EndObject"){a="";}else{if(a=="access_token"){ss[0]=jsonReader.Value.ToString();}elseif(a=="openid"){ss[1]=jsonReader.Value.ToString();}}}}}jsonReader.Close();returnss;}
解决方案:
学习一下