• json使用心得


    上周遇到的几个耗时较长的bug

    1.写页面iframe置换元素找不到,发现是缺少范围,加一行参数"window.parent.document"表示在父亲元素范围中查找(根本原因是自己查找自己找不到)

    $("#frame",window.parent.document).attr("src","QoS_fake.html");

    2.webstorm上面写得静态页面挂在c9系统下报404,原因是以为在eclipse下使用的还是相对路径,

    举个例子,为什么requestmapping是这样:/action/layer1/layer2/test:多加了好多层?

    是因为如果在页面中引用其他文件,比如echarts

    <script src="../../../ui/echarts-2.2.7/build/dist/echarts.js"></script>

    这时候根目录从浏览器地址栏最后一个"/"开始逐层向上找一直找到项目名c9(项目名),再向下找文件

    归根到底还是相对位置从浏览器最后一个"/"开始解析,所以requestMapping路径配置最好和实际路径相同

    小心得:

    js代码中嵌入.attr("key","value");可以很方便的修改页面元素样式,用在jquery中是.val()方法

    在调试工具里面输入$("calendar").val()可以看到日期控件的值

    下面是json总结

    首先是js对象

    var person={name:"a",age:123} (或者这样 var person=new Object(),person.age=123)

    可以访问person.name,发现是a

    js对象时原生态的json对象,要声明一个json数组对象,可以这样,方括号代表数组,花括号代表对象

    person=[{name:"a",age:123},{name:"b",age:22}]

    访问的话:person[1].name,发现是b

    person={name:"a",age:123}

    这样访问:person[name],发现是a

    json对象不用var声明,作用域也更广,是全局变量;这个局指的是方法体内;js对象则是局部变量

    json和eclipse结合,由于静态页面和动态代码交互靠字符串:

    如一个json字符串:jsonObj3 = “[{name:"a",age:123},{name:"b",age:22}]”

    //对象转字符串

    jsonStr2 = JSON.stringify(jsonObj3);

    //字符串转对象

    jsonObj3 = JSON.parse(jsonStr);

    $.each(data,function(index,element)){

      element[index]

    }

    其中index不仅可以是数字,也可以是字符串,可以完成遍历

    @responsebody

    如果是list,list.add("xiaoli");list.add("xiaozhang")转化成["xiaoli","xiaozhang"]

    访问list[0]

    如果是map,map.put("name","xiaoli");map.put("age","111");转换成{name:xiaoli,age:123}

    访问map[name]

    最后一个问题,看别人的代码

    有如下方法:

    $$.parse();

    不明白是什么意思?

    其实在jcdf.js中

    var jcdf = new jcdfObject();
    var $$ = jcdf;

    也就是说:jcdf是一个js对象,里面有方法,相当于jcdf.parse()方法调用

    转帖,关于页面跳转:

    一、背景
    A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,在D中跳转页面的写法区别如下。


    二、JS跳转
    window.location.href、location.href 本页面跳转,D页面跳转
    parent.location.href 上一层页面跳转,C页面跳转
    top.location.href 最外层页面跳转,A页面跳转


    三、链接或者form
    D页面中有form
    <form>: form提交后D页面跳转
    <form target="_blank">: form提交后弹出新页面
    <form target="_parent">: form提交后C页面跳转
    <form target="_top"> : form提交后A页面跳转


    四、刷新
    parent.location.reload():C页面刷新
    window.opener.document.location.reload():C页面刷新(使用子窗口的opener对象来获得父窗口对象)
    top.location.reload():A页面刷新

  • 相关阅读:
    LeetCode:Multiply Strings
    c/c++ 输入输出缓冲区
    Scala access modifiers and qualifiers in detail
    PUT vs POST in REST
    Redis优化总结
    硬中断和软中断(转)
    Redis监控技巧(转)
    Understanding mysql max_connect_errors
    TCP : two different sockets sharing a port?
    libevent 安装异常
  • 原文地址:https://www.cnblogs.com/UbalancedKiss/p/5910781.html
Copyright © 2020-2023  润新知