ajax “SyntaxError: missing ; before statement”错误解决

前台页面:
$.ajax({
            type: ‘GET’,
            url: url,
            async: false,
            jsonpCallback: ‘jsonCallback’,
            contentType: “application/json”,
            dataType:”jsonp”,
            success: function(json) {
                alert(json);
            },
            error: function(e) {
               console.log(e.message);
            }
        });

后台Servlet:
JSONObject jsonObject = new JSONObject();
jsonObject.put(“msg”, “hello”);
response.setContentType(“application/json”);
response.setCharacterEncoding(“UTF-8”);  
response.setHeader(“Cache-Control”, “no-cache”);  
response.getWriter().write(jsonObject.toString());
response.getWriter().flush();

但是前台接受值的时候,通过firebug调试发现抛出“SyntaxError: missing ; before statement“,在百度上搜了半天也没有找到一个靠谱的方法,有好多帖子说是URL问题,但是我肯定URL没有问题。后来转而用google,一下就找到问题根源了,嗨… … 差距啊,还是推荐使用google。
参考网址:
http://stackoverflow.com/questions/20658674/syntaxerror-missing-before-statement-jquery-jsonp

解决方法:
将 dataType:”jsonp” 这个属性去掉就可以啦,具体原因还没有查,下班了,明日继续刨根问底。
$.ajax({
        type: ‘GET’,
        url: url,
        contentType: “application/json”,
        success: function(json) {
            alert(json);
        },
        error: function(e) {
           console.log(e.message);
        }});

Kettle 学习知识总结(三)

接kettle学习知识总结(一)

【注意事项】

1、  如果kettle 转化过程中,要将一张表中数据转化到另一张不同的数据结构表中,最好在进行“表输入”或者“插入/更新”前加入字段选择插件,通过字段选择中的“列映射”,将A表中同类型字段映射到B表中。

2、如果要在SQL语句中引用系统变量使用${xxx}形式,此外还要将“替换SQL语句中里的变量”复选框勾选上,这样在执行的过程中才能正确替换系统变量。

3、  如果在js脚本中系统自带函数不会使用,可以通过鼠标右键点击“Sample”产看函数实例。

4、在kettle开发过程中,尽量使用相对路径,而不是用绝对路径,并将路径参数设置到系统的变量中,这样即便后期对目录结构造成较大的改动,只会对kettle代码产生较小的影响。

5、如果相对已经设置好的表输出——Database field进行设置,首先要将“Specify database fields”复选框进行选中。才能修改。

6、  表输出中“剪裁表”复选框,作用相对先将表中原有内容全部清除,然后重新添加数据。

7、  如果想将日志输出到kettle日志控制台中,要使用utility中的“write to log”工具。否者将不能打印各个步骤执行过程中的步骤。

8、  对于“插入/更新”插件

如果不填写查询关键字参数,既可以实现插入操作

如果填写查询关键字插件,实现的根据查询条件更新数据(注:必须将“update”属性设置为“Y”)

9、  对于kettle中定时插件,在执行时会一直占用某个shell,只有当执行完成之后kettle的定时器才会退出。所以我们在项目中使用linux 定时插件Crontab。

Linux 定时插件Crontab

【Linux 定时插件Crontab】
-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。
它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,
格式如下:f1 f2 f3 f4 f5 program
第一段   代表分钟 0—59
第二段   代表小时 0—23
第三段   代表日期 1—31
第四段   代表月份 1—12
第五段   代表星期几,0代表星期日 0—6