赞
踩
我们都知道,微信小程序是不能有本地数据文件的,打包发布的时候也不能超过10M,云开发中的数据处理能力也是不太强的,那么我们是否可以借助asp.net来把服务器中处理好的数据送给微信小程序呢?也就是说,让微信小程序一定程度上成为一个数据显示器吧!下面我们开始吧!
一、在微信小程序端做好准备
任意找一个页面,在js中写好onload代码,当然,你也可以自己定义一个其他的方法来调用。不过这里主要是用到微信小程序的request方法,这个方法主要是向固定的网页服务地址请求数据。所以我们就必须给它配置一些必要的参数:
ulr:这个是所请求的网页(我这的helloword是方法)
data:用来装数据的一个对象,里面你自己可以随便写一些变量,这些变量主要负责送到网页方法,作为网页提供数据的方法helloworld的参数,比如helloworld需要一个name的参数,你这里就写name,如果它需要一个名叫做dog的参数,你就要写dog。后面讲asp.net 端会再次说到。
method:post,这里照抄就可以了,我们知道这就是投递数据的意思,你的data里面的参数name是要投到网页的方法里去。或者说request请求你也是要投递的对吧!!随你怎么理解吧,这里不需要那么专业。
success:熟悉微信的就不用说了,这个东东专门生产结果的,前面的一系列动作的目的就是收到一个结果,那么它来完成。
onLoad(options) { wx:wx.request({ url: "http://localhost:62222/dataforwx.asmx/HelloWorld", data: { name:" WINXIN" }, method: "POST", success: (result) => { console.log(result.data), this.setData({informFromWeb:result.data.d} ) }, fail: (res) => {}, complete: (res) => {}, }) },
二、准备asp.net端
这里就稍微要多动几步哦,因为这个需要新建一个webservice的页面。然后要设置一下才可以发挥作用,不是普通的aspx文件能够解决的。
1、新建asmx页面
随便起个名字哦,记住它这个名字一会儿要在地址栏里输入的
一定要记住,将[System.Web.Script.Services.ScriptService]这句的注释取消,使之生效。否则你就会遇到微信小程序端提示不能与没有开启scriptService的页面进行通讯的错误。
代码很简单,我么增加了一个参数而已,string 类型的name,对应前面我们在微信小程序js文件中的request方法中的Data里面的name。
代码如下:
/// <summary> /// DataForWX 的摘要说明 /// </summary> [WebService(Namespace = "http://iaskall.com/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 [System.Web.Script.Services.ScriptService] public class DataForWX : System.Web.Services.WebService { [WebMethod] public string HelloWorld(string name) { return "Hello "+name +"! This is my WebService running!"; } }
三、程序跑起来
1、我们首先将asp.net运行起来
看看效果
点击helloworld,我们会发现很贴心,还可以在线测试:
输入一个名字试试看哦:
2、微信小程序端运行起来
上面的这些说明你的asp.net完全没有问题啦,接下来是微信小程序端了。
再次确认好url的地址,保证是从浏览器地址栏里拷贝过来的就可以了。
运行一下,我们可以在微信端的控制台看到helloworld输出的信息已经过来了。
我们在wxml页添加一个label吧,把这个信息显示出来。
<text id="rtxt" style="position:relative;">我收到的信息为:{{informFromWeb}}</text>
这里的informFromWeb为一个页面属性变量,你自己喜欢什么名字就起什么名字,随意!
显示的结果如下:
到此为止,我们就算打通了微信小程序与asp.net之间的数据通道了。如果你需要更复杂的数据,比如数据库的查询结果,那么些个方法将数据返回出来就可以了。
掌握了这个,你就可以自由的使用网站的数据啦,而且可以和你的网站的数据同步了。如果是使用微信小程序的云数据,那你还要做两套数据。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。