zoukankan      html  css  js  c++  java
  • ajax篇

    Ajax

    Ajax全称Asynchronous Javascript And XML(异步JavaScriptXML),是一种用于创建快速动态网页的技术。它在不重载全部网页页面的情况下,实现了对部分网页的更新。

    ajax请求和浏览器地址请求区别

    • 浏览器发起的请求,请求结果展示在浏览器上
    • ajax发起的请求,结果保存在js变量里

    适用场景

    • 注册用户时,对用户名的唯一性进行验证
    • 发送手机验证码
    • 只要是不刷新网页,收发数据的情况,ajax都是不错的选择

    语法:$.ajax([settings])
    常备参数

    • url :发送请求的地址
    • type:请求方式,值为GET,POST,默认为GET
    • data:发送到服务器的数据
    • async:请求类型,值为true,false,分别代表异步和同步,默认为true
    • dataType:预期服务器返回的数据类型,可用值xml, html, json, text
    • successFunction(),请求成功后的回调函数
    • errorFunction(),请求失败后的回调函数
    • timeout:设置请求超时时间(毫秒)
      注:当dataTypejson,即返回值类型为json的情况下,ajax获取到的值是object类型

    ajax中需要注意的问题:
    跨域问题
    说到跨域,必须得理解同源的概念,同源:两个页面地址中的协议、域名和端口号都相同。而跨域则是源A中的代码去请求源B中的数据,由于安全方面的原因,客户端js使用XMLHttpRequest只能同源访问,跨域访问会出错。(暂不提如何解决跨域问题)

    ajax调试
    进入Chrome控制台
    点击network

    • headers:在request headers中可以看到发送的数据
    • response:服务器返回的内容
      选中XHRXML HTTP Request,表示由ajax发起的请求

    关于JSON

    JSON全称JavaScript Object NotationJS对象简谱,是一种轻量级的数据交换格式。
    语法:

    • 对象表示为键值对
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数据

    JSONJS对象的关系
    JSONJS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。

    var obj = {a: 'Hello', b: 'World'};   //js对象    
    var json = "{'a': 'Hello', 'b': 'World'}";  //JSON字符串
    

    JSONJS对象互转
    要实现从对象转换为JSON字符串,使用JSON.stringify()方法:
    var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是"{'a': 'Hello', 'b': 'World'}"

    要实现从JSON转为对象,使用JSON.Parse()方法:
    var obj = JSON.parse("{'a': 'Hello', 'b': 'World'}"); //结果是{a: 'Hello', b: 'World'}

    JSONPHP对象互转
    $str = json_encode($obj); //对象转JSON字符串
    $obj = json_decode($json); //JSON字符串转对象

  • 相关阅读:
    为博客园选择一个小巧霸气的语法高亮插件
    再议 js 数字格式之正则表达式
    [扯蛋] 项目说
    浅谈 js 语句块与标签
    Yii 自定义模型路径
    js小记 function 的 length 属性
    js拾遗:appendChild 添加移动节点
    浅谈 IE下innerHTML导致的问题
    浅谈 js 数字格式类型
    [hihoCoder] 第四十九周: 欧拉路·一
  • 原文地址:https://www.cnblogs.com/jackw1/p/12597434.html
Copyright © 2011-2022 走看看