学习js的一些笔记

来源:互联网 发布:贝塔无敌软件 编辑:程序博客网 时间:2024/05/18 03:55

上面的这两个绑定方法,第二个不能正常执行,第一个能正常执行。第二个:$(document).ready()在dom节点加载完之后,数据加载之前就立刻执行了,因此后面($(this).val())你取不到值,因为此时数据还没有加载到dom节点里面去。第二个能正常执行,因为on是在dom全部加载完毕且数据也加载完毕后才执行绑定的。$(function(){}) 和$(document).ready()以及直接在script标签里写函数是等价的,因为在dom节点加载完后就执行,因此,调用没加载的值和没加载的别的地方的函数都会出错。
  

  还有就是json字符串和json对象的问题,后端返回来的是个json字符串,如果要用的话必须先转成json对象才能用,如上图用JSON.parse来转换,如果ajax标定了datatype是json或者用了$getjson方法的话,那jquery自动转了可以直接使用。关于json对象和字符串互转问题可以参看http://www.jb51.net/article/43136.htm

关于error和success函数的问题:
这两个函数都是请求这个动作成功或失败来执行的,成功执行success函数,失败执行error函数,只要后端没报异常,就不会执行error也就是说,连接超时,后端抛出异常,404等服务错误才会才error 执行,而返回错误码这种并不会让error执行,error在执行时,会把服务器端抛的异常catch住,可以抓住抛出异常的和errmsg。error的第一个参数是xhr对象,sucess则是返回的数据,二者的第二个参数都是status:但二者都只有success一个值。
下面是执行error函数打印出来的xhr和status:
可见会把异常信息和请求参数都记录下来。状态竟然也是success困惑,不过还好用处不大。


说说一些ajax常用请求的参数:
type:post/get请求的类型
url:请求的地址
data:
processdata:
上面两个简单来说就是,最终请求的数据都会转换成’a=1&b=2’这种格式,你可以直接这么写,也可以写成数组让processdata转换。序列化表单的值这样可以把表单直接搞成上面的样子:
async:默认true是异步的
datatype:

jquery 遍历的方法:
each会遍历所有li元素,生成一个li元素对象,each里面的函数会作用于每一个对象。 
原创粉丝点击