一、jQuery对Ajax的支持


load()

  - 作用: 将服务器返回的数据字节添加到符合要求的节点之上

  - 用法:

    $obj.load(请求地址,请求参数)

  - 请求参数

      - "username=tom&age=22"

      - {'username':'tom','age':22}

  - 有请求参数时,load方法发送POST请求,否则发送GET请求


get()

  - 作用: 发送GET类型的请求

  - 用法: $.get(请求地址,请求参数,回调函数,服务器返回的数据类型)

  - 说明:

      - 回调函数添加的参数是服务器返回的数据

      - 服务器返回的数据类型:

        html: HTML文本

        text: 文本

        JSON: js对象

        xml:   XML文档

        script: JavaScript脚本


ajax()

  - 用法: $.ajax({});

  - {}内可以设置的选项参数

      - url:  请求地址

      - type: 请求方式

      - data: 请求参数

      - dataType: 服务器返回的数据类型

      - success: 服务器处理正常对应的回调函数

      - error: 服务器出错对应的回调函数

      - async: true(缺省)


getScript()

  - 作用: 通过 HTTP GET 请求载入并执行 JavaScript 文件

  - 用法: $.getScript(url,success(response,status));

      - url: 将要请求的URL字符串

      - success(response,status):可选,规定请求成功后执行的回调函数

        response - 包含来自请求的结果数据

        status - 包含请求的状态

                 sucess

                 notmodified

                 error

                 timeout

                 parsererror 


一、表单操作


使用 Ajax 提交数据

  - step 1: 获取表单元素,通过

    document.getElementById或者jQuery的工厂函数获取页面元素值

  - step 2: 将获取的页面元素值拼凑成字符串或者JSON字符串

  - step 3: 使用Ajax异步提交表单

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_服务器JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_服务器_02JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_服务器_03


表单的序列化

  - 序列化: 将对象状态转换为可保持或传输的格式过程

  - 表单序列化:将表单元素转换为可提交的字符串或者JSON字符串

  - 通过序列化可以轻松实现数据存储和传输

  - 在jQuery中可以通过serialize()方法将表单元素序列化成普通字符串,通过serializeArray()方法将表单元素序列化成JSON字符串


serialize()方法

  - 格式: var data = $("#formId").serialize();

  - 功能: 将表单内容序列化成一个字符串

  - 这样在ajax提交表单数据时,就不用一一列举出每一个参数。只需将data参数设置为$("#formId").serialize()即可

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_服务器_04JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_ajax_05

serializeArray()方法

  - 格式: var jsonData = $("#formId").serializeArray();

  - 功能: 将页面表单序列化成一个JSON结构的对象。注意不是JSON字符串

  - 比如, [{"name":"wcm","age":"18"},{...}]获取数据为jsonData[0].name

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_服务器_06JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_ajax_07


异步表单的提交

  - 可以通过Ajax异步的提交表单,从而获得良好的用户体验

  - step 1: 获取表单提交方式、服务器地址、序列化表单

  - step 2: 通过Ajax 异步的将内容提交给服务器

  - step 3: 表单提交方法中返回false,即阻止表单默认提交

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_ajax_08JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_ajax_09

使用jQuery.form异步提交表单

  - jQuery Form 插件是一个优秀的Ajax表单插件,可以非常容易地、无侵入地升级 HTML表单及支持Ajax

  jQuery Form 有两个核心方法 -- ajaxForm() 和 ajaxSubmit(),它们集合了从控制表单元素到决定如何管理提交进程的功能

  - ajaxForm(): 不能提交表单。在document的ready函数中,使用ajaxForm来为Ajax提交表单进行准备

  - ajaxSubmit(): 马上由Ajax来提交表单。你可以在任何情况下进行该项提交

  -  ajaxForm() 和 ajaxSubmit() 都能接受0个或1个参数,当为单个参数时,该参数既可以是一个回调函数,也可以是一个options对象

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_服务器_10


beforeSubmit:showRequest

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_服务器_11


success:showResponse

JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)_服务器_12


总结:本章内容主要介绍了 Ajax的增强操作(jQuery对Ajax的支持、表单操作)