• ajax


    ajax:
    Asynchronous JavaScript and XML,即异步的JavaScript和XML,是一种使用现有标准的新方法,是与服务器交换数据并更新部分网页的艺术,也就是在不加载整个页面的情况下,实现局部刷新。其中,JavaScript是属于网络的脚本语言,常被用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用,而XML是指可扩展的标记语言,常被用来设计传输和存储数据。
    在实际开发中,可以用来做登陆校验,自动回填密码等操作。
    Ajax对象:XMLHttpRequest
    ajax的核心方法:open()和send()方法。其中,open(method,url,async)方法,可规定请求(method)的类型、URL(url)和是否异步处理请求(async)。
    ---method、url、async参数
    method请求类型可以是GET或者POST,其中使用GET方法比较广泛,但是有几种必须使用POST方法,1、上传文件,其中上传文件,还得指明请求头的content-type为multipart/form-data(xmlHttp.setRequestHeader(“content-type”,”application/x-www-form-urlencoded”););2、向服务器发送大量数据(post方式是没有限制,URL对长度是有限制,不同浏览器最大长度都不一样);3、发送一些隐秘消息使用post可靠,因为post方式将数据放在header中,在地址栏上看不到参数,截获数据的成本较高;4、跨域的机制强制要求只能使用post。
    URL就是文件在服务器上的位置。
    async可选参数为true表示使用异步处理,false表示使用同步处理。
    ---ajax响应
    两个重要属性:readyState和status
    -readyState是XMLHttpRequest对象的一个属性,用来标识当前XMLHttpRequest对象处于什么状态,即状态值,这个属性是不可改变的,是无论访问是否成功都将响应的步骤:
    - 0 :为初始化状态,此时已经创建了一个XMLHttpRequest对象;
    - 1 :准备发送状态,此时已经调用了XMLHttpRequest对象的open方法,并且XMLHttpRequest对象已经准备将一个请求发送到服务器端;
    - 2 :已经发送状态,此时已经通过send方法把一个请求发送到服务器端,但是还没有收到一个响应;
    - 3 :正在接收状态,此时已经接收到Http响应头部信息,但是消息体部分还没有完全接收到;
    - 4 :完成响应状态,此时已经完成了Http响应的接收。
    -status是XMLHttpRequest对象的一个属性,表示响应的http状态码,是无论ajax访问是否成功,由Http协议根据所提交的信息,服务器所返回的http头信息代码:
    几种常见的状态码:
    - 200:访问成功且无错误
    - 400:错误请求,如语法错误
    - 404:没有发现文件、查询或URL
    - 500:服务器不支持或拒绝请求头中指定的http版本
    详见参考博客:http://www.cnblogs.com/chris-oil/p/3366641.html
    JQuery实现ajax
    1、$.get(URL,callback);
    2、$.post(URL,data,callback);
    - URL:规定您希望请求的URL
    - data:规定连同请求发送的数据
    - callback: 是请求成功后所执行的函数名
    $.getJSON(url,[data],function(data,status,xhr))
    - url:将请求发送到哪个url
    - data:连同请求发送到服务器的数据
    - function:请求成功时运行的函数
    eval():将字符串转成JSON对象;
    JSON.parse():将字符串转成JSON对象;
    JSON.stringify():将JSON格式转成字符串;
    append():将元素在页面中进行填充。
  • 相关阅读:
    Java中关于时间日期格式保存到mysql的问题
    传输json数据到前台的时候,数据中包含日期数据
    字符串的分隔方法 split()
    实体类中用基本类型好,还是用包装类型
    Android中的task和stack
    在res文件下新建文件夹
    Android活动和碎片的生命周期及addToBackStack()方法
    draw9patch图片拉伸
    Android studio新建文件出现setContentView(R.layout.activity_main);中的R标红错误解决方法
    listview控件的使用
  • 原文地址:https://www.cnblogs.com/jianhuangshu/p/7425173.html
Copyright © 2020-2023  润新知