关于jquery.ajax返回json数据时生出parsererror错误的处理

5.1劳动节,周一假之;5.8二战纪念,周一桥之;5.17升天,周五连之。整个五月都是假,projet断断续续的。

整个平台的javascript全要改成基于jquery,prototype这种改起来都算小意思了,ui和1.5版之前的jquery的冲突今天把姐整得人仰马翻。因为页面中大量使用列表,比较之后选了现成的flexigrid——模样过得去,源代码也比较清楚,修起来便当。

弄到这会儿大半的工作都完成了,跟老板也对过进程。只剩下日历和拖拉菜单这些零件,打算一统拿ui凑和了——把主题润色下就行。结果就给我来个ui和flexigrid不兼容的飞机。我说这俩都是jquery家的肿么就能不兼容了,咹!不就是打包里的jquery版本差了0.4级灭!

因为flexigrid比较低级,还是1.2.3版的,按住了一顿猛掀,发现问题出在申请数据这一节上。丫在这一步的代码是
$.ajax({
type: p.method,
url: p.url,
data: param,
dataType: p.dataType,
success: function(data){
g.addData(data);
}
});
果然就sucess不了,于是按住加了一段
$.ajax({
type: p.method,
url: p.url,
data: param,
dataType: p.dataType,
success: function(data){
g.addData(data);
},
error:function (xhr, ajaxOptions, thrownError) {
alert(xhr.responseText);
alert(xhr.status);
alert(thrownError);
}
});
status是parsererror,而thrownError的信息是json.parse expected property name or ‘}’。意即contentType和字符编码都不是问题,问题出在json.parse这一步上,儿子不承认老子认可的数据格式。

于是回头对着返回数据又是一顿猛敲,最终诊断结果是——在1.5版之前,返回数据无论是加不加引号,加单引号还是双引号,全被自动当成数据串处理,比如说{page:1, total: 15}这种样子的字符串是可以被接受被顺利转正成为json数据的,而在1.5版之后,返回数据的key和value都必须使用双引号,且在数据串中不得有如\之类的转义符,也就是说必须要整容修面成{“page”:”1″, “total”: “15”}这副德性才能拿到json世界的入境签证。

坑爹啊泥妹!!!

把所有召唤页的数据格式全都改了……还好姐是一懒胚,能重复使用的功能绝不写第二遍。饶这样,全部搞完测试完毕命都折了半条。码农不是人干的啊!求包养!!!

使用vbscript输出cvs文件使用utf-8编码而不显示乱码的解决之道

LOL上次解决了这个坑爹的问题之后就一大堆事情扑面而来。忘了给这辛苦的结果记一笔。基本上咧,cvs默认用excel打开的话是不会认utf8码的,所以在这个输出之前要先进行转换。转换的方式啊咧,就是先把字符串写入stream,在stream里进行转码之后,从stream写入到要输出的cvs文件(当然其他文件也是ok的),所以就是要加以下这样一个function

Function Stream_StringToBinary(Text, CharSet)

Const adTypeText = 2 ‘Text

Const adTypeBinary = 1 ‘Binary

 

Dim BinaryStream

Set BinaryStream = CreateObject(“ADODB.Stream”)

 

BinaryStream.Type = adTypeText

 

If Len(CharSet) > 0 Then

BinaryStream.CharSet = CharSet

Else

BinaryStream.CharSet = ” ascii”

End If

 

BinaryStream.Open

BinaryStream.WriteText Text

 

‘return to the start of stream, and read binary

BinaryStream.Position = 0

BinaryStream.Type = adTypeBinary

 

‘Ignore first two bytes – sign of

BinaryStream.Position = 0

 

‘Open the stream And get binary data from the object

Stream_StringToBinary = BinaryStream.Read

End Function

然后就可以开心地使用这个function好像这样

Response.Buffer = true

Response.Clear

Response.ContentType = “application/octet-stream”

Response.AddHeader “Content-Disposition”, “attachment; filename=export.csv”

如果要输出的内容超长会超过vb.net的容忍范围的话(姐姐就是遇到这个情况)

就是要把内容分段,在每一段输出之后清空response的缓存

Response.BinaryWrite Stream_StringToBinary(str2Write,”utf-8″)

Response.Flush

Response.Clear

就是这样

opio之三天两夜+《饭祷爱》之三分之一读后感

这是我第一次住“度假村”,此前一直没有——也懒得——知道其具体功能,反正人类有着各种各样的需要,有些需要对我来讲势必是奇怪的——所谓旅行于我意味“逃离”的自由和“探索”的好奇,随走随啃随躺才是最自然的,如果想关上门享受洁净的环境舒适的休息,那不如睡自家最愉快……

从出租车上下来,抬头便见远山拥着一拢轻雾,太阳斜在铁青色的云层后面,暮色暧昧混合着山风清冽,浸在雨里的空气散发着四季青的味道。
脑中骤然跃出老妈工作的地方。因无人看管,小时候每到老妈轮值,就把我带去单位,找个空的病房安置了。要吃的自己去厨房,气闷了自己去阅览室,山大任妹闯,林深无人惊——都认得是某某的女儿,打个招呼就得。
浙江的秋天也是一色有阔叶林香气的清朗,我嘴里叼着刚出笼的馒头兜里揣着五香牛肉,手上拿着也不知金庸还是全康写的武侠小说像《西游记》里的小怪一样从山下巡到山上又晃下来,跟在园丁大叔屁股后面认真记着哪种花能吃,哪种不能吃,都是怎么样的吃法,下一轮经过时再来个神农尝百花,经过老干部的病房时往里张一眼,有爷爷请我喝可乐也有爷爷请我喝茅台……

为了找会议室,我和P绕着内村转了一圈,除了花木的种类有所不同之外(这里居然有竹林,不过长得很受虐样就是了)。这个本来该觉得无聊的地方因遥远的记忆而有了亲切感。晚上在主楼的自助餐厅一杯餐前酒下肚之后,好感又鲤鱼跃龙门了(餐厅的份量在面包篮上,自助餐厅的份量就在酒上)。据这三天观察,这里的厨房也是餐餐不同款,天天不重样的。基本上牛肉类的都不推荐——太老,但海鲜和甜点相当的不错。我基本每晚都酒足饭饱,脚步虚浮地回房间,窗户大开,九点左右就躺倒在山风中呼呼了

唯一可惜的就是室外的恒温泳池没得机会用……

晚上酒灌得多,第二天反应就慢,加上此番客户来自世界各地,什么南腔北调的英语都有——尤其印度口音实在一绝,简直就像伊甸园的苹果似的一直诱人犯错误,我使出吃奶的自制力才没有去模仿。两天的会开下来,自觉舌头打结,耳朵也不管用,着急上来脱口就是法语,看来这个英语水平还是madamadadane,差滴远了。
第一天被这样折磨下来之后,第二天早上吃饭时遇到一位先生不会用咖啡机,我问人想要什么,他回答coffee,我还是没反应过来,直觉coffee和café是一个词,仍然继续用法语(只是把咖啡的音都发成coffee而已,囧)问“那您要哪一种咖啡”,对方有点发窘地说“随便什么咖啡就好了”,大概以为我不会说英语……

anyway,会开得挺顺,还见到了几个操意大利口音/伦敦音的很帅的爷爷。而且度假村什么的用来工作还是个不错的地方,手腕上绑条丝带就能随意进餐厅和酒吧(事实上也根本没人要检查那根带子,我的手腕一直都被外套遮住了),省了很多麻烦。下次去nice旅游可以带个帐篷驻在附近山上,进去骗顿吃喝补充体力(不知道为什么,我现在每到一个地方满脑子就是这种流浪汉式思维)

开会的过程很顺利,回来的过程就克难了

明明从巴黎到Nice只要五个小时的火车,客户方不知道出于什么样的动机(P理解为对方生怕我们觉得他们小气,所以不愿意我们搭乘相对便宜的交通工具),坚持要求我们坐飞机。不喜欢坐飞机的P跟我对此都深表无奈,而我的无奈肯定又要更深一层:赶飞机对于我来讲真的就是“赶”飞机,一般写明12点半check in的我通常都是在12点20分的时候才抵达机场。

11点半的时候我还在家里摸鱼,突然接到P的短信说他已经在机场准备check in了,问我人在哪里,这下着了慌,于是牙刷毛衣和隐形眼镜药水这几条鱼也没顾上摸进包里,急吼吼地冲了出去。先坐6号线,再搭机场大巴,等司机大哥晃悠悠开到机场的时候离check in的最后时限还有十分钟。这时候作为一个便宜航空的follower,我显示出一个老飞的神勇:绝对不带需要托运的行李和有碍安检的物品,直冲borne把登机卡打出来放嘴里衔住一边宽衣解带一边奔向安检。

13点登机,路上+候机花了我一个半小时,而真正的航程只有1个多小时……这不是坑爹么(如果是火车我只要半个小时就能上车然后一路呼呼到目的地)。落地后见P悠悠地去传送带等行李我思巴达了:这些法国男人究竟是怎么回事!!!上次F也是这样,只有两三天的功夫,我一个女生只有手提电脑和一个背包,他们还要托运行李,你们到底是在里面装了什么,过去一年的花花公子吗!!!

如果说去的过程惊险,那回来的过程只能叫克难。

好死不死周二那天就轮到Nice大罢工,百分之八十的航班取消,大部分taxi都歇业,高速公路当天改叫“低速公路”。客户方帮我们找到了一辆taxi,开车的老爷爷自认为“这种罢工运动中拯救无辜旅客的英雄”(我勒个囧),带着我们穿街绕巷居然开到了机场。(也幸亏nice弹丸之地,要是在巴黎,这种交通情况一天也开不到机场)。路上经过一辆停在路边的警车,后车厢的窗户上贴了两张纸,上书en grève……

不幸中的大幸是我们的航班没有取消(否则我们只好睡机场了),只是晚点了半个小时,半个小时之后又变成晚点一个小时,一个小时之后又变成晚点一个半小时,正当我怀疑这架飞机正在玩穿越游戏永远不会出现的时候,终于可以登机了。我们16h从会场出发,一直等到21h才确信能够当天赶回巴黎……

1017916-gf 好在我虽然忘了牙刷(在自助餐厅偷了瓶盐回来学古人手指抹盐擦牙)隐形眼镜药水(结果这两天都是用矿泉水顶替的)这些日用品,倒是在百忙之中记得把消磨时间用的书塞进挎包,这几个小时的等待时间能跟书一起打发,而不用一直升长脖子趴在人背后看无声电影(便携式视频播放器出来的效果跟大屏幕实在没得比,看《变形金刚》都跟山寨货似的)。因为fnac没见到原版的,于是买了法语版的《饭祷爱》(eat, pray and love),原本预计速度会比读原版的慢一倍左右,不过事实证明英语相比法语来说实在simple, sometimes naive,翻译成法语之后竟然一个长句都没有(咱就拿通俗小说比通俗小说,法语通俗小说隔一段至少有一个让你在其上徘徊不解的长句)!!!其语法结构之简单跟儿童小说似的。在飞机降落时,我已经看掉了三分之一,也即意大利部分的结束。

仅从已看的部分来说,这部小说的改编自然是很成功的。原作小说,以我的口味来说,过于唠叨了,有些时候显得重复多余。电影在这一点上做得很好,去芜存菁。另一方面,因为原作的开头部分几乎算是意识流写法,想到哪儿写到哪儿,时间线交叉重叠得厉害,在电影里因为剪辑的缘故,一些原本在书里没有前后因果关系的事件看上去似乎有因果关系一样。
按照原著的话,女主业已意识到自己的婚姻难以为继,一段时间后有了那番关于生小孩的对话,之后便是著名的浴室祈祷,隔了一段冷静期后向丈夫提出离婚,其后立刻爱上了David,其丈夫一直不同意协议离婚,而她和David的关系也在几番分合之后濒于破裂,女主在此期间精神压力过大得了抑郁症,去见了巫师之后,回来终于解除了婚姻关系……
以电影的叙述方式,似乎是在经过巫师的提醒,和那番关于小孩的对话之后,女主才突然意识到自己的婚姻并不是自己想要的东西。当然也去除了关于抑郁症的那一块。我后来想小皮作为制作人不知道对于剧本的形成是否有什么影响力,毕竟什么抑郁症这一块也是书里我不喜欢看到的内容。应该说电影当中呈现的Liz在大体感觉上更能让我有认同感,书里的Liz真是个骨子里的美国人(怪的是,在我看书的时候,大嘴的形象一直跟Liz重合,果然是女主的不二人选,casting有fu)。而在细节上,自然书里呈现得更多(虽然是口袋本,好歹也500页啊)。很多感受,包括Liz的宗教观(只是她表达得太过啰嗦了),她时刻想到别处去的愿望,还有那种精神曾经被抑郁的状态,我都可以说感同身受。

从某一方面来说,自然我比她幸运。她要过了而立之年才去想自己究竟要什么。我二十出头的时候就给自己列了一张list——巴黎、雅典、开罗,就为了一门语言为了一种文化为了一个人抛弃一切铁石心肠般地远涉大陆。
即使精神最抑郁的时候,失去胃口,失去抵抗力,失去注意力,甚至失去让生活继续的意愿,我也从来没有失去过睡眠和活下去的力气。在认识神之前,我先认识了老贝和皇帝,通过这两个人,就头脑简单地相信神和神迹的存在,在还没有成年的时候,已经学会自己跟自己对话来缓解一切自觉无法解决的困境。
我比她幸运,因为更早从恶梦里醒来。但是她已经认识了自己是谁,我却未必能比她先一步向美梦中游去。
曾几何时,我跟自己说“要重新拿起画笔”,但是直到现在,都没有真的下定决心送一盒画具给自己。我跟自己说“要到埃及去”,但是直到目前,都一直找各种各样的借口推托着这个list上最后的名字,因为不知道再之后,该向往哪里。

要推论某个人的价值观,先得认识那个人,要定义自己的“快乐”,要先认识自己。“认识你自己”,是比认识其他人认识世界认识宇宙更优先的问题,“我”是谁,“我”想要什么……我是多么羡慕那些从来没有意识到更不用说考虑过这个问题的人们,只要美味的食物舒适的住处安逸的工作就能满足,不用像只困惑的老狗似地一直在太阳底下想要捕住自己的影子。现在去跑步的时候,我都害怕,害怕铁塔闪灯的那一瞬间再没有那种激动莫名的感觉——我一早确信这堆钢铁联系着我控制快乐的那部分神经。

也许我也应该排期去意大利住上一个月?(意大利语倒不难学——这点是个bug,女主自称会法语,为什么倒觉得意大利语艰难?按照我们老师的说法,会法语的人只要一个月就能掌握意大利语了,我唯一的难关就是弹舌而已)。

Spry框架之人生初见

自从实习期间跟adobeair玩过一阵之后,我就发觉a家的东西功能很多,但也很霸道。

这次帮J做网站,因为赶得急,再上数据库并不大,就用了xml(我还是比较习惯json的格式,不过xml的层次更清楚,也ok)。后来想到使用Spry是为了一个相册功能。在网上查了查之后,这个框架提供的相册最合意,包括缩鱼眼和幻灯片什么的。但是真的整合之后,问题就来了——原先用jquery做的伸缩菜单宣告失灵。去查了一下spry的js文件,发现人家不用jquery,估计就是冲突了。考虑了做菜单和做相册的复杂度之后,还是舍菜单而用相册。

这样一来,等于说任何基于jquery的插件都不可冒然使用,必须充分利用spry所提供的功能实现一切要求。好在spry确实很强大。不如jquery灵活,不过如果是紧急间要做出许多漂亮的功能的话,这倒是个很好的选择,setstate功能省下了不少跳转的功夫,而且网页的语言切换也只需要做两个xml文件用下拉框进行选择就行了,伊还提供各种淡入淡出拉长拉短的效果。

目前还是微量级数据库,响应得很快。adobe这个家伙我也发现了——也是个颜控。

==============================

最近疯狂地想炒了老板。什么还没有拿的带薪假期……通通见鬼去吧!

没办法,谁叫我是娇生惯养的一代宅女八零后。不知道是不是所有老板都这样,永远觉得员工在偷懒,所有对员工不满意,永远在骂人,骂人的时候永远不知道对方有携带“自尊心”这个东西。作为一个独生女,一个脾气很坏的独生女,我已然表现出忧郁症的先期征兆了——甚至源源不断地生出“不如回国找个富二代嫁掉”这样自暴自弃的想法(D之天音:女人用脸能换到的永远比用智商能换到的多,傻了吧),在黑暗中被理智掐灭,然后在次日行将去上班的时候又重新燃起,如果我不尽快炒掉老板,总有一天会沦陷在这种明知将来必会后悔的idea当中的。

哪位童鞋在工作中感受到幸福的,请传授一下经验好吗?我现在唯一能安慰自己的就是——到下一任老板时我的抵抗力应该增强了,而且应该更懂得欣赏老板们的优点,更懂得如何从受虐中汲取快乐……

真tmd想把这些烦人的事都甩开,扛上背包随便去哪里都好。