前段时间碰到一个怪问题,firefox在使用一个上传文件的js(ajaxupload.js)时总是报错(uncaught exception: [Exception... "Component returned failure code: 0x805e0006 [nsIDOMHTMLFormElement.submit]" nsresult: "0x805e0006 (<unknown>)" location: "JS frame :: http://localhost:8080/static/js/ajaxupload.js :: <TOP_LEVEL> :: line 660" data: no]Line 0),查资料的时候都说是跨域,我就纳闷了,localhost下面,使用Js也会跨域?搞不明白,测试再三,我自己电脑上的上传会出问题,我同学机器上不会,我是最新版本的火狐,他是3.6的,在经过一天的查资料,测试,google无果后,我只好假定是最新版本不允许这样提交,暂时放下了这个问题。虽然是搁置下这个问题了,客户也没提到有这个问题,但总觉得心里不踏实,时不时工作间隙或在家的时候google一下,绝大多数都是说跨域,说的我也迷糊了,难道js里提交form真的是跨域?两周前不经意间搜到一个e文网页,上面提到了adblocks影响了他的上传,真是一语惊醒梦中人。关掉adblock后,世界终于清静了。顺便抱怨一下这些搜索引擎,搜个答案真是难。
1.python 一个网站框架下,后台的变量,访问一次后就没了,好几次莫名其妙的出问题就是因为要看结果,加了一个print语句,结果变量打出来是正常的,程序接下来却没跑到该去的地方,将print去掉后正常。
2.python某页面循环报错,检查后是循环内容中制表符与空格混用造成的,将所有tab全换为空格,问题消失
3.jquery ajax在一个页面提交(firefox4),点了之后没反应,firebug的脚本调试里好像也没报错,但http请求根本没发出去,最后在控制台却找 到了个长串字符,baidu结果说是跨域了,直接用form提交,终于过去了.本错误只在自己机器firefox4下遇到,ie8正常,同学的 firefox3.6也正常。有时间再看到底是为什么。
4.form提交时犯了一个很愚蠢的问题,后台form表单提交的值中找不到我提交的一部分内容,原因是我给input加了id没加name。
5.firebug经常出现找不到脚本内容的问题,回想了一下,出现这种情况是发生在更新firefox4之后的事情,更新firebug后没有再出现过。
6.oracle 排序,客户需求提到某个内容排序不对,经查证,是按客户要求的排序方式排序的,但没有做完整,就是没有考虑到 null值对排序的影响, 用nulls last 解决了问题。
碰到一个问题,就是遇到{"1",:"a"},{"2","b"}这种json对象,键名不固定,然后就不知道怎么取了,监视器下面是个object,没有什么属性方法。第一次碰json,自己试着用索引[0],[1]分别获取,失败了,然后只好找外援了,下面是同学问到的答案:
d = {'1': 'a', '2': 'b'}
for(i in d)
{
i 就是键,d[i]就是值
}
真是难者不会,会者不难啊。
前几天的一个需求是使用客户给定的xls文件格式(里面有弄好的柱状图,折线图之类的,已经和顶部数据表关联起来)。
当时想着,这应该不难,然后一搜一大堆插入行的,就选了一个引用Microsoft.Office.Interop.Excel的方法,先是实现
了插入空行,代码如下
object MisValue=Type.Missing;
DataSet ds;
Microsoft.Office.Interop.Excel.Workbook xlsWorkbook;
Microsoft.Office.Interop.Excel.Worksheet xlsSheet = xlsWorkbook.Worksheets[1];
Microsoft.Office.Interop.Excel.Range xlsRow=(Microsoft.Office.Interop.Excel.Range)xlsSheet.Rows[3,MisValue];
xlsRow.Insert(Microsoft.Office.Interop.Excel.xlShiftDown,MisValue);
刚高兴着这下没问题了,第一个表是行数据,第二个表换插入列数据了,心想着这不一样么,结果头疼了
Microsoft.Office.Interop.Excel.Range xlsColumns=(Microsoft.Office.Interop.Excel.Range)xlsSheet.Columns[MisValue,2];
运行到这里时直接出异常,Range[object RowIndex,object ColumnIndex] 获取行就列索引用MisValue,那么照常理来讲获取列肯定
就是行索引用MisValue呗,怎么会出错呢,我google了半天没找到解说。没办法了,准备放弃的时候突然想了一下,不会是微软给的这个
参数名字在忽悠人吧?就试了一下:
Microsoft.Office.Interop.Excel.Range xlsColumns=(Microsoft.Office.Interop.Excel.Range)xlsSheet.Columns[2,MisValue];
xlsColumns.Insert(Microsoft.Office.Interop.Excel.xlShiftRight,MisValue);
直接就好了
竟然真是被这个参数名给忽悠了。
另外,提醒一下,Microsoft.Office.Interop.Excel.Workbook 这个东西下面的Worksheets,Worksheets.Columns等集合的索引全是
从1开始,我是看到打出来的数据位置不对才知道的。