Javascript
文章平均质量分 73
_学而时习之_
这个作者很懒,什么都没留下…
展开
-
钉钉接口调用的莫名错误listOwnGroup
钉钉的H5微应用一直运转的好好的,昨天同事反映,出错了。使用了很多方法,都没有找到原因。后面再三排查后,发现很可能出现在接口的调用上,因为该错误的产生是一个按钮触发的,而按钮操作了之后,服务端并没有相应的日志,说明没有到后端,还是在前端。而该按钮只是调用了钉钉接口,于是怀疑是接口冲是。立即查了钉钉的API文档,发现接口多了两个参数,而之前开发的,一直是使用原有的接口和参数。原来的调用代码如下:dd.biz.chat.chooseConversationByCorpId({原创 2021-05-20 12:01:26 · 1352 阅读 · 0 评论 -
小程序开发系列(九)文档下载与预览
在小程序中,有时数据中含有一些必要的文档需要下载,当我们与后端交互得到了文档的URL后,无法直接预览,需要将其下载,然后再预览。UI代码如下 文档:{{doc.Name}}其中doc是后端返回的数据,内部包含了Url和Name两个字段。同时在View中绑定了一个下载文件的事件。 previewFile: function (event) { var that =原创 2017-11-04 14:19:58 · 3996 阅读 · 0 评论 -
小程序开发系列(七)事件传参
在触发事件后,有时需要有些额外的数据,JS的写法是直接以参数的形式传递。而小程序是react模式的,使用data触发状态变化而刷新界面,绑定的事件里,绑定的是函数的名称,参数无法像一般编码的方式直接传入,那要怎么办?小程序提供了一种方式,即daa-xxx,其中data-是标识事件触发时会带上这个参数,xxx是参数名。比如按钮绑定了query事件,需要传入一个产品的编号no作为参数,那我们在wx原创 2017-06-12 11:33:20 · 6101 阅读 · 0 评论 -
钉钉开发系列(十)SaltUI与WebApi交互
Asp.net中常用的数据交互是WebApi的方式,对于请求者只是向一个url发起请求。对于SaltUI,官方推荐使用salt-fetch.js来进行数据交互,当然直接使用zepto.js或者jquery.js以ajax来交互也是可以的。接上一篇《钉钉开发系列(九)SaltUI在VS中的开发》,我们在项目SaltUIDemo中构造WebApi端,在项目中添加一个Global.asax和WebA原创 2016-08-10 12:06:44 · 7432 阅读 · 4 评论 -
钉钉开发系列(九)SaltUI在VS中的开发
钉钉提供了SaltUI的组件,以利于界面的开发。SaltUI是基于React实现的,所以调用方式与React是一致的。具体的安装过程可以参照官方的说明文档。SaltUI基于React实现,在安装是基于nodejs的,nodejs一定要安装4.X版的,否则nowa会无法使用。在nowa安装好后,我们用VS2015新建一个项目SaltUIDemoSrc,然后开始初始化项目,为了方便后续的使用,做成了一原创 2016-08-10 10:56:40 · 10151 阅读 · 20 评论 -
钉钉开发系列(八)二维码扫描登录的实现
钉钉PC版在登录的时候,需要使用手机版的来扫描,扫描之后会弹出一个确定的页面,确定之后PC端就会登录进去。基于此,我们也想实现相似的功能,为此我们需要先探讨其中的原理。查看钉钉PC版的二维码会发现是一个含有一个KEY的URL,钉钉扫描后会直接进入该URL的页面,在页面中确定之后,会向钉钉服务器发起一个请求,应该是写入了一串值,同时钉钉PC版检测到该值,匹配之后就登录成功了。下面是一个流程简图。原创 2016-07-22 17:15:26 · 24045 阅读 · 3 评论 -
基于C#和JS的阻止重定向攻击
There are different types of attacks that exist in web programming, like SQL Injection Attack, Cross Site Scripting Attack(XSS), Open Redirection Attack etc., and we need to take care of these attacks转载 2017-04-20 10:28:49 · 1234 阅读 · 0 评论 -
Vue中v-for的数据分组
使用Vue.js可以很方便的实现数据的绑定和更新,有时需要对一个一维数组进行分组以方便显示,循环可以直接使用v-for,那分组呢?这里需要用到vue的computed特性,将数据动态计算分组。代码如下原创 2017-03-01 11:22:57 · 12609 阅读 · 0 评论 -
Ajax上传文件至MVC的controller
在前端与后端交互,ajax是最常用的方式,而后台的响应也有很多方式,在asp.net中有一般处理程序和MVC的Controller响应的方式。在使用controller来响应请求时,可以通过路由配置来定位到具体的方法,这样代码清晰,逻辑分明,但前端传到后端的参数一般是通过函数的参数来接收的,而对于文件这样较大的数据,不太方便接收,虽然有类似HttpPostedFileBase的类作为参数,但使用a原创 2017-03-01 09:48:07 · 6187 阅读 · 0 评论 -
WebApi后端的List<String>前端如何发送?
WebApi作为RESTful的风格已经广为流行,在后端有时我们需要传入List类型的参数,那这时前端要如何发送数据呢?按以往ajax的经验,我们可能会选择post的方式,以formdata或者json数据来提效,比如$.post(url,{'list':data},function(success){...})或者$.ajax(type:"post",data:{"list":dat原创 2016-06-06 14:26:46 · 14255 阅读 · 0 评论 -
jsonp其实很简单【ajax跨域请求】
前两天被问到ajax跨域如何解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来。抱着有问题必须解决的态度,我看了许多资料,原来如此。。。为何一直知道jsonp,但一直迷迷糊糊的不明白呢?——网上那些介绍资料都写的太复杂了!我是能多简单就多简单,争取让你十分钟看完!1. 同源策略ajax之所以需要“跨域”,罪魁祸首就是浏览器的同源策略。即,一个页面的a转载 2014-10-30 08:29:21 · 913 阅读 · 0 评论 -
JS中JSON数据的增删改
在JS中操作JSON时,对数据的增删改是经常碰到的操作。1、增加比如有一个JSON对象myJsonObj,如果需要增加某一项,可以这样写myJsonObj.newObj="TEST"其中newObj是key,TEST是vale。JSON对象其实是就一个个的KEY-VALUE对,而VALUE的形式不限,只要是对象就可以,所以VALUE还可以是一个JSON,这样就可以嵌套很多的数据。就原创 2014-02-26 15:28:51 · 28665 阅读 · 0 评论 -
谷歌插件开发(实现CSDN快速登陆)
谷歌浏览器插件带来了很大的方便,于是就想着是不是也可以开发一个来用用。几经折腾下,开发了个CSDN快速 登陆的插件。下面简述一下开发的步骤。1、开发工具:谷歌浏览器(我开发时用的是chrome 30.0.1599.101 )、HTML/JS/CSS/JSON开发工具(UE、VS等,当然也可以用记事本)2、开发过程(1)新建清单文件manifest.json:该名字不可以改。下面是代码原创 2013-10-29 11:56:13 · 3544 阅读 · 0 评论 -
JavaScript 函数惰性载入
最近看JavaScript高级程序设计,大有收获,接下来几天写一下读书笔记。之前写了一篇Ajax初步理解的随笔,里面有个函数用来创建XmlHttpRequest对象,浏览器兼容性原因,写出的代码通过大量if判断或者try,catch语句将函数引导到正确代码处。 function createXHR(){ var xhr = nul转载 2013-08-12 08:28:20 · 1219 阅读 · 0 评论 -
JavaScript更巧的写法
1、当条件成立时执行a方法,当条件失败是执行b方法通常我们会这样写:var result;if(isOk){ result=funA();}else{ result=funB();}还可以这样表达: var result=isOk? funA():funB()2、当条件成立执某个方法通常方式: if(isOk){转载 2013-06-10 07:50:19 · 1046 阅读 · 0 评论 -
万恶的prototype
今天进行JS调试的时候,发现一个很奇怪的问题,本来运行好好的脚本,突然就异常了。于是try-catch了一下,抓出了异常。异常内容如下:TypeError: Object function (filter) { return JSON.stringify(this, filter); } has no method 'replace'原创 2013-05-22 16:30:53 · 1402 阅读 · 2 评论