jquery中的用ajax发送请求过程笔记

来源:互联网 发布:深入浅出的数据分析 编辑:程序博客网 时间:2024/06/03 18:03
$.ajax({}):发送数据是json的格式:{}表示json格式
success:回调函数  function(result){}   result用来接收服务器返回的数据
type:请求类型  get post     默认是get
data:传递的数据                                  数据之间用&,可以是字符串或者是json格式
json格式:data:{name:"",realname:""}     属性值要加“”  不加就当做一个变量解析了
url:请求的url    
cache:默认是true 缓存  
async:默认为true  


记住:属性值加“”,除了值boolean类型
前台ajax里面汉字不需要转码,后台需要转码
每个后面用逗号,隔开


2.ajax的get方式的请求:
$.get(url,data,success);
url加“”,data:{属性名:"属性值",属性名:"属性值"},
success:function(result){
}
记住:只需要三个参数,u d s


3.ajax的post请求:
$.post("url",data,success);
url加“”,data:{属性名:"属性值",属性名:"属性值"},
success:function(result){
}
记住:只需要三个参数,u d s


4.省市联动
  select:三个select下拉列表 
  select属性: name,id
  css:设置select样式,width,font-size,line-height行高,防止字体挤到一起
servlet:一个
script:函数:
1.查询所有省:根据父id,查找区县,
function getProvince(){
$.post("",{parentid:0},function(result){
//得到数组
var vararray = JSON.parse(result);
//得到另一个下拉列表元素对象
var $("#select01")
//遍历每个省 结果放在option,每次创建一个option,中间连接获取的对象省的值 
"<option value="+vararray[i].areaid+">vararray[i].areaname</option>"
父jq对象.append(子jq对象);
getCity();
});//post无缓存
}
 
2.servlet:
处理乱码
获取parentID,jdbc,
查找数据库parentid的区域
sql,预处理,?设置值,查找,
得到结果集,获取每个地区的属性值
创建对象,初始化参数,用结果集得多参数的值
resultSet.getInt(n);
创建全局集合
把地区添加到集合中
//返回给ajax
判断集合中是否有值,有就返回,
resp.getWrite().print(集合对象);
//此时得到的是数组套数组格式,需要转换为json格式
创建json对象,
String json = new Gson().toJson(集合对象);
//
 3.创建对象:存放数据更方便
  属性:areaid,areaname,parentid,
  arealevel,status,
//


服务器响应数据三种格式:文本,xml,json
获取json数据方式:el,json.parse()转为数组


4.获取县
  给每个省的option添加一个onchange事件
  查询对应省的城市
  function getCity(){
  从select1中获取选中省的id,
  $().val();
  $.post("",{parentid:varareaid},function(){
  得到select2元素
  每个option要添加areaid--拼接在上面
  解析数据
  清空子节点
  遍历数组
  创建option
  添加节点
  getTown();//
  });
  //记住:每次都要清空一下节点,否则就都连在一起
  }
5.得到市下的县
function getTown(){
//获取市的areaid
$("#select2").val();
//发送post请求
$.post("",{},function(result){
//转换结果json为数组

}
}
6.刚开始不显示市和县
getProvidence下自动调用查询市的方法      
getCity自动调用县的方法

记住:自动调用都放在回调函数里面,放在外面不起作用
在县和市中提交的数据是对应上级的areaid,后台根据areaid,查询parentid为areaid可以查询出parentid下的孩子
每次遍历完成后要清空孩子
关系图:
北京的parentid  0      areaid 1000
海淀    parentid 1000    areaid 100010 
黄庄    parentid 100010  areaid 10001010






原创粉丝点击