美文网首页我爱编程
Ajax的XML,json,ajax中的json格式-12.30

Ajax的XML,json,ajax中的json格式-12.30

作者: 50153465fcd8 | 来源:发表于2016-12-30 20:44 被阅读0次

Ajax的XML

1.请求的数据格式-XML

  • 客户端如何构建XML格式的数据

  • 构建的数据类型 - 字符串类型

  • 字符串的内容要符合XML格式的语法要求

  • 服务器端如何接受符合XML格式的数据
    接收到的客户端的请求数据 - 字符串类型,php集成了DOM的相关内容

    DOMDocument
    DOMElement
    DOMNode
    

    2.响应的数据格式-XML

  • 服务器端如何构建符合XML格式的数据

  • 设置服务器端的响应头Content-Type值为text/xml
    header("Content-Type:text/xml");

  • 构建符合XML格式的数据内容
    DOMDocument对象的方法
    loadXML(符合XML格式的字符串)
    saveXML()方式进行响应

  • 客户端如何接受XML格式的数据

  • 使用XMLHttpRequest对象的responseXML属性接收

  • 接收到的就是XML DOM对象(不需要进行解析)

json

1.JSON - javascript object notation(JS原生支持)
2.json数据格式源于js
3.特点:

  • 易于程序员阅读和编写
  • 易于计算机解析和生成
  • json是目前网络上使用最广泛的数据格式之一
  • Array和Object
  • 支持的数据类型
  • 字符串、数值、布尔值、对象、数组、null

ajax中的json格式

1.请求格式为json

  • 客户端向服务器端发送请求为json格式的数据

  • 构建符合JSON格式的字符串

  • 定义字符串时,保证里面使用双引号,外面使用单引号

  • 服务器端接受json格式的数据

  • 使用json_decode()函数进行解析

  • json_decode($json,true);ture代表是否转换为数组

2.响应格式为json

  • 服务器端向客户发送响应为json格式的数据
  • 手工方式构建json格式的字符串
  • 使用json_encode()函数将php变量(数组),转换成复合json格式的字符串
  • 客户端接受json格式的数据
  • 使用XMLHttpRequest对象的responseText属性接受
  • 然后使用eval函数进行转换,如果使用()包裹,eval函数强制转换为js代码,
    var json = eval("("+data+")");

HTML(文本)、XML格式、JSON格式的优缺点

  • HTML: 简单,但解析复杂
  • XML: 构建、解析复杂
  • JSON: 轻量级

jQuery中的ajax

1.封装第一层 - 类似于原生ajax的用法

$ajax:
var data = {
  name:"jj",
  site:1
}
$.ajax({
  url:"myPhp04.php",
  type:"post",
  data:data,
  success:function(data,textStatus){
    console.log(textStatus);
    console.log(data);
  },
  error:function(){
  },
  dataType:"json",
})

2.封装第二层 - 基于第一层再次封装

  $().load(); 
  $.post();

3.封装的第三层 - 特殊用法

  $.getScript(); - 动态读取脚本(js代码)
  $.getJson();  - 接收json格式数据

load(url,data,callback)方法

1.最简单、局限性最大

  • url - 设置ajax的请求地址
  • data - 设置ajax的请求数据
    要求为key:value格式,其实就是js的对象格式
  • callback: ajax请求成功后的回调函数
    回调函数的参数就是服务器返回的数据

2.服务器响应的数据自动写入调用load方法的属性中
3.load()方法的请求类型

  • 没有请求数据时,请求类型是GET
  • 发送请求数据时,请求类型是POST

4.load()方法接受服务器端的响应数据
是以字符串类型(HTML格式)来接受

get/post()方法

1.get(url,data,callback,type)

  • 参数
  • url - 设置ajax的请求地址
  • data - 设置ajax的请求数据
    要求为key:value格式,其实就是js的对象格式
  • callback: ajax请求成功后的回调函数
    回调函数的参数就是服务器返回的数据
  • type:设置服务器端响应的数据格式
    默认值为HTML,还可以为xml/json
  • 无论是否发送请求数据,请求类型都是GET
  • $.get()方法可以接受HTML/XML/JSON格式

2.post(url,data,callback,type)
使用方式跟get一模一样

$.ajax(options)方法

1.options的格式是{key:value}
2.url:请求地址

  1. type:请求类型,默认为get

  2. async:是否异步,默认为true
    5.contentType POST方式发送数据的前提
    默认值为application/x-www-form-urlencoded
    6.data:请求数据,格式必须为key=value
    7.success:请求成功后的回调函数

     function(data,textStatus)
       data - 服务器响应的内容
       textStatus - 表示ajax请求的状态,此时的值为success
    

8.error:请求失败后的回调函数

    function(XMLHttpRequest,textStatus,errorThrown)
      XMLHttpRequest - ajax的核心对象
      errorThrown - 错误异常信息
      textStatus - 表示ajax请求的状态
      error/timeout/notmodified

9.dataType:数据响应格式
HTML/XML/JSON

使用$.getScript(url,calback)动态读取脚本

1.若JS代码过多时,会影响HTML页面加载的速度,如果已被加载的JS代码并不是立即执行,只加载马上执行的js代码,会提交效率
2.参数

  • url - 读取脚本的地址(本地或服务器)
  • calback - 回调函数

表单的Ajax异步提交 -

1.表单的序列化

  • serialize() 返回的是json字符串
    使用表单元素的name属性值
    {key:value}

  • serializeArray() 返回的是json对象
    json对象由一个对象数组组成
    [obj1,obj2,obj3,...]

  • 注意:
    表单必须要有name属性

  1. jQuery.form插件
  • 实现表单的异步提交,底层机制,还是使用正常的表单提交机制

  • 两个核心方法 - 参数既是一个option参数

  • ajaxForm(options)方法
    ajaxForm()不能提交表单。在document的ready函数中,使用ajaxForm来为 AJAX提交表单进行准备。提交动作必须由submit开始

  • ajaxSubmit(option)方法
    ajaxSubmit()马上由AJAX来提交表单。你可以在任何情况下进行该项提交。

  • 参数

  • target 服务器返回内容所存放的元素ID

  • beforeSubmit 提交前回调函数,如果返回false,则不提交

  • success 提交后的回调函数,一般有两个参数responseText,statusText

  • url 默认是form的action,如果声明,则覆盖

  • type 默认是form的method,如果声明,则覆盖

  • dataType html(默认),xml,script,json….接受服务端返回的类型

  • clearForm 布尔值,成功提交后,是否清除所有表单元素值

  • resetForm 布尔值,成功提交后,是否重置所有表单元素值

  • timeout 限制请求时间,大于该时间后则跳出请求
    http://www.cnblogs.com/popzhou/p/4338040.html

3.表单异步提交的方式

  • 不使用submit按钮,而是使用button按钮,通过绑定click事件,实现提交
  • 表单的序列化
  • 表单的异步提交
  • (常用)依旧使用submit事件,在form元素中绑定onsubmit事件,在onsubmit事件的处理函数中要做如下事情
  • 表单的序列化
  • 表单的异步提交
  • 组织表单的默认行为

getJson()方法 - 可以实现跨域提交

1.什么叫做跨域

  • 跨域:完全跨域 - IP不同

  • 域名:

  • 顶级域名 - http://www.baidu.com

  • 二级域名 - http://www.baidu.com/kongjian

  • 万维网协议:

  • 默认是不允许跨域请求的

  • 服务器那边返回的是一个函数字符串

      $.getJson("url?callback=?",function(data){
     })

相关文章

  • ajax中的xml和json

    ajax中的xml 1.请求的数据格式-XML 2.响应的数据格式-XML ajax中的json 一、json 1...

  • Ajax的XML,json,ajax中的json格式-12.30

    Ajax的XML 1.请求的数据格式-XML 客户端如何构建XML格式的数据 构建的数据类型 - 字符串类型 字符...

  • H5-12.29Ajax与jquery、xml、json

    四、Ajax的XML 1.请求的数据格式-XML 2.响应的数据格式-XML 五、json JSON - java...

  • 12_django_ajax

    AJAX 一、什么是ajax? 异步的JavaScript和xml,跟后台交互,都用json 二、ajax干啥用的...

  • ajax的最基础使用(快速入门)

    ajax 首先对于ajax传递的数据是json格式的,也就是后天向前台传递的数据都必须是json格式。所以需要会使...

  • 无标题文章

    ajax是异步javascript +xml的缩写,页面异步刷新。 json 是一种轻量级的数据交换格式,json...

  • ajax 传递js数组(以Json 格式),后台使用对象接收,遇

    在ajax的传递Json格式的数据到后台,后台使用SpringBoot。前台Json格式如下[{ "age"...

  • ajax

    ajax有关json的处理 json 要求返回的数据类型必须时json格式数据 注意,在python中如果直接返回...

  • ajax基本操作

    AJAX AJAX:通过JS异步地向服务器发送请求并接受响应数据,响应数据的格式原来是xml,后来被JSON替代了...

  • AJAX

    1、创建AJAX请求 2、Json写法 3、XML写法

网友评论

    本文标题:Ajax的XML,json,ajax中的json格式-12.30

    本文链接:https://www.haomeiwen.com/subject/pwzmvttx.html