分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

JQuery中Ajax的基本用法

发布时间:2023-09-06 01:53责任编辑:蔡小小关键词:Ajax

一、JSON对象与JSON字符串
JSON:轻量级的数据交换格式
1、JSON对象:JSON对象就是键值对的集合,键与值之间用:分隔,多对键值对之间用,分隔
注意:JSON对象,要求键必须使用""包裹的字符串。‘‘无效!!!
2、JSON字符串:将JSON对象,用字符串的形式进行包裹。

3、JSON对象与JSON字符串的相互转换:

  ① 对象-->字符串 JSON.stringify(obj)
  ② 字符串-->对象 JSON.parse(jsobj)

JQuery也提供了字符串转对象的方法:$.parseJSON(jsobj);

4、JSON数组:将多个JSON对象组成数组的形式存放
JSON数组可以和JSON对象相互嵌套,也就是说JSON对象的值可以是JSON数组。

.load():选中当前页面的一个DOM节点,并在当前DOM节点中加载一块HTML代码片段:
接受参数:
  ① 可以是一个HTML文件的地址,表示将整个的html文件加载到当前区域:
    $("div1").load("test.html");
  ② 可以是一个html文件+各种选择器,表示选择该页的指定区域进行加载
    $("#div1").load("test.html",h1,"ul",function(){alert("完成")});

二、$.ajax();是JQuery中最底层的ajax函数。参数接受一个大对象,用对象的键值对表示ajax请求的相关设置:
① type:表示Ajax请求的方法,可以get和post
② url:表示请求的后台URL地址
  $.ajax({
    type:"get",
    url:"java1801.json",
  data:{
  "name":"张三"
  },
  async:true,
  }

③ success:表示请求成功的回调函数。回调函数将接受三个参数,其中第一个参数是请求成功返回的数据。
  success:function(data,textStatus,jqXHR){
    var obj=JSON.parse(data);
    console.log(obj);
    console.log(data);
    console.log(textStatus);
    console.log(jqXHR);
    console.log(jqXHR.responseText);
    console.log(jqXHR.responseXML);
  },
使用数据时需注意:返回的对象是JSON字符串,还是JSON对象。
④ error:表示请求失败时,执行的回调函数。
  error:function(XMLHttpRequest,textStatus,errorThrow){
    console.log(XMLHttpRequest);
    console.log(textStatus);
    console.log(errorThrow);
  }
⑤ complete:请求完成后,无论成功失败都会执行的函数
  complete:function(XHR,TS){
    console.log(XHR.status);
    console.log(TS);
  }
⑥ statusCode: 接收一个对象,对象的键是各种status状态,对象的值表示每种状态码对应的回调函数。
  [常见状态码]
    200-请求成功
    404-页面没找到
    500-服务器错误
    403-访问被拒绝

  statusCode:{
    200:function(){
    console.log("请求成功");
  },
    404:function(){
    console.log("页面没找到");
    }
  }
⑦ async:设为true表示异步请求(默认),设为false表示同步请求

⑧ data:请求时,向后台传递的数据,是一个对象类型,以键值对的形式分别表示name:value。

⑨ dataType:预期服务器返回的数据类型。常见json、text、html

⑩ timeout:设置请求超时时间。

三、JS同源策略
在JS中当请求其他文件时,要求被请求文件与当前文件,必须处于同一协议名、同一主机名、同一端口号下。
否则,请求将不能成功!!如果要请求非同源文件,必须进行跨域请求设置

  $(function(){
    $.get("java1801.json",{name:"zhangsan"},function(data){
    console.log(data);
  },"json");

四、ajax中用于检测页面所有Ajax的状态,并执行回调函数的方法

  ajaxComplete(callback)
  ajaxError(callback)
  ajaxSend(callback)
  ajaxStart(callback)
  ajaxStop(callback)
  ajaxSuccess(callback)


五、表单序列化为字符串
  $("form input[type=‘button‘]:eq(0)").on("click",function(){
    //var str=$("form:eq(0)").serialize();
    //console.log(str);
    var userName=$("form input[name=‘userName‘]:eq(0)").val();
    var pwd=$("form input[name=‘pwd‘]:eq(0)").val();
    var obj={ ??????????????????
      "userName":userName,
      "pwd":pwd
    };
    console.log(JSON.stringify(obj));
  });

六、表单序列化为数组
  $("form input[type=‘button‘]:eq(1)").on("click",function(){
    var arr=$("form:eq(0)").serializeArray();
    var obj={};
    arr.forEach(function(item,index){
      obj[item.name]=item.value;
    });
    console.log(JSON.stringify(obj));
  });

七、validate插件的使用
 插件下载:http://www.runoob.com/jquery/jquery-plugin-validate.html
 实例代码

<head><meta charset="UTF-8"><title></title><style type="text/css">.cls{color: red;font-size: 12px;}</style><script src="js/jquery-1.10.2.js"></script><script ?src="js/jquery.validate.js"></script><script ?src="js/messages_zh.min.js"></script></head><body><form id="form">用户名:<input type="text" name="userName"/><br/>密码:<input type="password" name="password" id="pwd"/><br/>确认密码:<input type="password" name="confirm_password" id="confirm_password"/><br/>邮箱:<input type="text" name="email"/><br/><input type="submit" value="提交"/><br/></form><script type="text/javascript">$("#form").validate({errorPlacement: function(error, element) { ????error.insertAfter(element); ??error.css({"color": "red","fontSize": "12px","position":"absolute","right":"0px"})},//errorClass:"cls",rules:{userName:{required:true,rangelength:[3,16]},password:{ ???????required:true, ???????????????????????minlength:5},confirm_password:{ ???????required:true, ???????????????minlength:5,equalTo:"#pwd"}},messages:{confirm_password:{ ????equalTo: "两次密码输入不一致"}}});</script></body> ??????

  

JQuery中Ajax的基本用法

原文地址:https://www.cnblogs.com/hjcblog/p/9025521.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved