写微信API所遇到的问题

1.接口还没出来之前。

根据微信网页版的页面,自己做了页面,分成了两个页面,一个是登录之后的,一个是登录之前的。后来接口出来之后我师兄说要做成只有一个页面时,我就有点吓到了,想想都觉得难,后来用了JQ的hide();函数,觉得只要有方法,什么都变得很简单。

2.关于接口如何调用的问题。

在这个项目中大多都是用$.post();方法请求的,这样的话一般都发送的参数在我们地址栏里面就不会那么直接的看到,不过在Network那里还是可以看到的,在这里也可以知道请求都没有成功。并且可以知道请求后的返回值是什么,根据返回值就可以写请求成功之后的回调函数,做好下一步的工作。

当用表单提交时,可以用var formdata = $(this).serialize();直接把参数放在formdata里面,这样子很方便,也不过写那么多的参数。

3.对于json的处理。

对于服务器返回的json数据,都是可以解析之后直接调用的,用 eval("("+data+")");就可以调用了,解析之后很方便,在回调函数里面就可以最直接调用。当返回的是json数组时,那就要多开一扇门啦,比如说message =  eval("("+data+")");如过我要获取message里面第一个数组中的age时,我就要这样子写message[0].age,而不是message.age,这个跟C语言有点像。

4.JS没反应怎么办?

有时候,写了JQ之后,发现自己写的JQ没反应,并且连登录都登录不上,那么肯定是自己写的JS文件中哪里出错了,这时就应该在控制台看一看,因为控制台会告诉你哪里出错了,这样子找出错误会更加容易,也比较准。

5.在JS文件中写语句,就是不执行。

这时候,我采取的方法就是打印,用console.log();也好,用alert();也行,目的都是一样的,就是找错误。不过我一般用alert();感觉这样子我可以知道这行代码是真的执行了。打印出来时,有时候是有内容的,而有的时候却是undefined。如果是undefined时,你就要想想到底是哪里出错了,然后追根到底,找出原因。有时候真的很纳闷时,就在嘴巴里念出来,这种方法给我的感觉不错,让我比较明确我的目的,知道了我哪里错,还有为什么我会错呢,那我错了之后该怎么办,一步一步,就会找出答案,然后再一个一个打印出来,就可以找到结果了。

6.做出一个功能时,其他功能就会遭到破坏。

这个问题是我在做API时经常遇到的问题,也是很正常的,要是不出bug还会觉得奇怪。

当在修改备注信息之后,想把好友列表重新刷新一遍,以显示最新的好友列表以及最新的备注,然而刷新之后,我发现我的好友多了一倍,后来发现是我直接用append();追加新列表,忘记了把原来的列表清空。清空之后每次刷新好友的数量就不会增加了。

7.关于定时向服务器发送请求的问题。

这个一开始也让我有点摸不着头脑,一开始我想到的方法就是写一个循环,然后在循环中写请求,后来发现不切实际,所以放弃了,百度之后,发现用window.setInterval("function()",5000);才是比较正确的选择,定时向服务器发出请求,然后在函数中写请求。关于定时请求这个,我在百度的时候发现了一种技术,叫做服务器推送技术。说着也巧,那时候本来想用服务器推送技术的,研究了一会,发现那是后台的东西,就问了一个师兄,师兄对这个东西也是没有了解,也没有听说,后来研究了一番,说这个东西不错,挺神奇的一个技术 。后台的小伙伴有兴趣可以研究一下,如果采用服务器推送技术的话,前台就不用定时向后台发送请求啦。

8.滚动条置底问题。

这个问题让我思考了好几天,说实话,真的很让人偷疼的一个事,不过现在好,已经解决了。一开始在网上百度,大家都说用scrollTop=scrollHeight;可是我试的时候却一直不行,我在想一定是自己哪里写错了,所以还是一直百度,实践,可是滚动条还是不理我。改了好几天,还是解决不了,就向师兄请教,后来才发现原来jQ没有scrollHeight这个属性,跟JQ是封装的有一定的关系,之后用了JS写,果真滚动条就乖乖置底了,瞬间,我觉得JS原来是多么有魅力呀,这个以后必须好好学。

9.关于配色问题。

关于配色问题,其实挺纠结的,说实话,以前都没有做过配色的工作,欣赏还是会的,不过当自己配起来的时候,还是觉得挺纠结的。在配色的时候我一直是在战酷还有懒人图库中看别人的例子,学习别人怎么配色,怎样看起来会比较舒服一点,好看一点。关于这个问题,我觉得还是需要多学习,多看看别人怎么配色,然后自己再尝试怎么去陪,多实践爱你,自然就会熟络起来。

10.对于动态生成的DOM设置事件。

对于动态生成的DOM,直接设置事件是不可能实现的,那么要怎么办呢?如果要设置事件,就必须做事件委托,在API中我一般是用on();函数,$(document).on(‘click‘,‘.child‘,function(){});/,$(‘.father‘).on(‘click‘,‘.child‘,function(){});都是可以的,这样子就可以对动态生成的DOM设置事件。

对动态生成的DOM设置css属性,正常情况下,css属性直接写就可以了,只要直接给动态生成的<div>或其他的添加相应的类或者id就可以了,不过我在做API的时候遇到一个问题(更换皮肤),就是当点击其他的连接时,改变另一个动态生成的<div>的css,这个我在做的时候还是很苦恼的,因为百度一直百度不到,后来我自己想了一种方法,就是设置一个全局变量,然后全局变量的值先设为blue,然后当在改变皮肤颜色时,就改变这个全局变量的值,而这个全局变量,就作为动态生成的<div>的类,然后在css中就相应设置不同的css。之后就能在点击更换皮肤的时候,动态生成的<div>的皮肤也跟着改变。

写微信API所遇到的问题

时间: 2024-08-09 18:33:58

写微信API所遇到的问题的相关文章

面向对象的全套“企业微信”api接口的代码实现,网上太多“面向过程”微信api接口的代码,这个开源给需要的人用

有段时间没有写文章了. 一直以来,微信的热门是看得到的,很多人都需要与微信的api对接. 今天我这里就分享全套的企业微信api接口的代码. 关于微信api,网上已经有很多实现的了. 但是我今天之所以还写这个,是因为网上基本上找不到面向对象的api接口实现的编程,几乎都是“面向过程”的. 本文章的代码,也许能带给你极大的方便,以及非常方便的扩展和应用. 1.如下图,在你的业务逻辑层中,将本文章附件的Weixin代码文件夹整套放进去 2.在你的页面中,类似于下图,插入下面的代码即可实现调用. 下图例

总结的一些微信API接口

本文给大家介绍的是个人总结的一些微信API接口,包括微信支付.微信红包.微信卡券.微信小店等,十分的全面,有需要的小伙伴可以参考下. 1. [代码]index.php <?php include_once 'lib.inc.php';   $wcObj = new WeChat("YOUKUIYUAN"); $wcObj->wcValid(); 2. [代码]微信入口类 <?php /**  * Description of wechat  *  * @author

C++作业代写,C++代写,代写C++,编程代写(微信leechanx)

C++作业代写,C++代写,代写C++,编程代写(微信leechanx) 概念区分之线程安全VS可重入 可重入:当被多个线程调用的时候,不引用.操作任何共享数据. 线程安全:被多个线程并发调用,最终会产生正确的结果. 可重入->由于绝对不引用任何共享数据->所以肯定是线程安全的. 线程安全->如果引用了共享数据,即使最终结果正确,也不是可重入的. 虽然引用了共享数据,但最终结果是正确的 这种引用了共享数据的线程是怎么保证安全的呢?->同步,唯一手段! 线程不安全如何改为线程安全?

C++代写,C++作业代写,代写C++,编程代写(微信leechanx)

C++代写,C++作业代写,代写C++,编程代写(微信leechanx) 主要的GC算法 三种基本方法:标记清除法.复制收集法.引用计数法 高级方法:分代回收法 一.标记清除法 标记阶段:先从根对象开始,以深度遍历的方式对其可达的对象(A可达对象B的意思是:A引用了B)标记,表明这些对象是存活的: 清除阶段:对未标注的对象进行空间回收,同时将所有已标记的对象清理标记状态,为下次标记做准备. 大致过程: 内存空间状态: 缺点: (1)标记-清除算法的比较大的缺点就是垃圾收集后有可能会造成大量的内存

代写Python、代做Python、Python作业代写、Python代写(微信leechanx)

代写Python.代做Python.Python作业代写.Python代写(微信leechanx) i++ VS ++i性能区别 i++ 为 function () { tmp = i; i = tmp + 1; return tmp; } ++i 为 function () { i = i + 1; return i; }

python利用企业微信api来进行发送自定义报警的类实现

python利用企业微信api来进行发送自定义报警的类实现 企业微信注册 打开http://work.weixin.qq.com/企业微信主页: 点击企业注册: 填写相关信息,营业执照和注册号可以不用填,直接下一步,按照提示操作即可: 注册完成后,登陆,就显示如下界面: 点击我的企业标签: 看到如上界面,复制CorpID对应的值: 点击企业应用: 点击 创建应用: 填写对应内容,点击创建应用即可: 然后再点击企业应用,就可以在自建应用里看到自己创建的应用: 点击应用图标,看到如下图 复制Agen

(微信API接口开发) 使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理

最近调试原来的微信模拟登陆时发生了"基础连接已关闭,发送时发生错误"的错误提示,原来都是好好的,只是很久没用了. 出错代码如下: ? 1 2 3 4 5 6 7 HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN");///cgi-bin/loginpage?

用expressjs写RESTful API

expressjs expressjs是一个基于nodejs的web开发框架:http://expressjs.com/,这篇博客目的就是用expressjs写一个关于products的最简单的RESTful API 一个最简单express的例子 package.json { "name": "hello-world", "description": "hello world of express js", "ve

BPM实例分享:DMZ内部网络转发https请求访问微信API

应用场景:H3 BPM部署在企业内部网络需要访问微信API但不能直接访问互联网 解决方案:通过DMZ服务器部署Nginx转发来自H3 BPM的https请求至微信服务器 1. 在H3 BPM服务器配置hosts文件添加一条记录,将访问微信API服务器重定向至内部的DMZ服务器 [DMZ IP] qyapi.weixin.qq.com 2.参考链接创建SSL服务器的无密码证书和key用于解密https加密内容 http://www.voidcn.com/blog/huplion/article/p