Ajax常用属性和方法:

属性:

  readyState: 0(开始创建ajax对象)1(调用open方法)2(调用send方法)3(正在返回数据)4(返回数据结束)

  responseText/responseXML: 接受服务器返回信息

  onreadystatechange: ajax状态readyState发生变化,触发该事件运行

  status:200/404····

方法:

  open(请求方式,请求地址,同步异步标志):创建一个新的http请求

  send():发送http请求

  setRequestHeader():设置HTTP头协议信息

get和post请求注意事项:

  (1)get在url中直接传递数据,post在send方法中传递

  (2)传递中文信息时get需要对中文进行编码而post不需要

  (3)进行post方式请求时候,也可以传递get参数信息,在服务器端可以使用$_GET接受

同步和异步区别:

  同步就是阻塞式,一个IO请求完成之前不能进行下一个,异步则是非阻塞式的,体现形式是在open(请求方式,地址,true异步/false同步)

缓存处理:

  (1)在请求地址后加随机数字,保证每次请求都是新的

  (2)在服务器端给php程序设置header信息,禁止浏览器缓存当前页面

 实战代码:

  (1)test.html

  <input type="text" id="username" class="input-block-level" placeholder="旧用户名(必须填写)" name="old_username" onblur="checkname()"><!-- 在失去焦点函数中进行ajax请求 -->
  <span id="usernamespan" style="color: #811501;">对不起用户名已存在!</span> <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#usernamespan").hide();
});
function checkname() {
var obj = new XMLHttpRequest();//创建ajax对象
obj.onreadystatechange = function() {//当ajax对象状态发生变化时触发以下事件
if(obj.readyState == && obj.status == ) {
if(obj.responseText == '')
$("#usernamespan").show();//如果返回值为1的时候span显示
}
}
var name = $("#username").val();
obj.open("get", './ajax.php?username=' + name);//默认为异步请求
obj.send(null);
} </script>

  

  (2)ajax.php

  <?php
  $a = array("tom", "jerry", "marry");//这里没有做与数据库交互,其实做一下也很简单,根据上一篇博客db.php可以很快做出来
  $name = $_GET['username'];//获取get请求内容
  if(in_array($name, $a)) {
   echo '';
  }else{
   echo "";
  }

效果如下:

【Ajax】PHP中ajax的基本知识点的更多相关文章

  1. Ajax—web中ajax的常用方式

    什么Web2.0的特点? 1:注重用户贡献度 2:内容聚合RSS协议(每小块都个性化,单独加载单独请求,不用全部刷新--Ajax) 3:更丰富的用户体验 Ajax的概念? "Asynchro ...

  2. Ajax——jq中ajax的使用

    格式化表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  3. jquery中ajax 从前端到后端 完整过程解析

    几个原则: 1.get方式访问浏览器时,常加参数缘由: GET访问浏览器是等幂的,就是一个相同的URL只有一个结果[相同是指整个URL字符串完全匹配],所以第二次访问的时候如果 URL字符串没变化,浏 ...

  4. AJAX、JQUERY 工作遇到的知识点

    泽浜商城关联公司知识点总结 1.关联公司的时候,根据用户ID,在数据库中用户表中关联公司ID,公司的列表通过查找公司表 ,然后抓取所有公司的名称和ID.关联的时候只需要根据公司name和ID进行关联. ...

  5. AJAX请求中出现OPTIONS请求

    背景 有一个前后端分离的VUE项目来发送ajax请求, 查看Nginx日志或使用Chrome Dev Tools查看请求发送情况时, 会看到每次调后台API的请求之前, 都会发送一个OPTIONS请求 ...

  6. JQuery中ajax的相关方法总结

    前提条件 话说是jquery中的ajax方法,那么前提条件当然是引入jquery啦. <script src="http://libs.baidu.com/jquery/1.9.0/j ...

  7. jquery中ajax用return来返回值无效

    jquery中,ajax返回值,有三种写法,只有其中一种是成功的 /** * async:false,同步调用 * 返回1:2 * 失败 * 分析:ajax内部是一个或多个定义的函数,ajax中ret ...

  8. Ajax开发中服务端Response的Content-Type

    转自http://www.cnblogs.com/hyl8218/archive/2010/03/10/1681484.html ajax开发中在请求服务器端的响应时, 对于每一种返回类型 规范的做法 ...

  9. Asp.net MVC 中Ajax的使用 [分享]

    文章转自 http://www.huiyoumi.wang/upload/forum.php?mod=viewthread&tid=75&extra= Asp.net MVC 抛弃了A ...

  10. prototype.js 和 jQuery.js中 ajax 的使用

    这次还是prototype.js 和 jQuery.js冲突的问题,前面说到过解决办法http://www.cnblogs.com/Joanna-Yan/p/4836252.html,以及上网说的大部 ...

随机推荐

  1. [Leetcode] Merge k sorted lists 合并k个已排序的链表

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 思 ...

  2. SqlServer中临时表的应用

    一.变通处理WHERE后面IN的参数过多 WHERE后面的条IN操作符里的参数比较小时,可以直接使用IN(1,2,3)这样处理,当个数不确定(可能超过1000)时,应该考虑使用临时表关联查询: SEL ...

  3. MFC随机数

    void CMFCDemoDlg::OnClickedGetrand() { wchar_t str[]; //srand((unsigned)time(NULL)); int num = rand( ...

  4. 近期对于windows服务的理解

    1.APP.config的作用   在开发环境下时,根目录下的APP.config里面会填写一些参数之类的.当生成之后,这些参数将会被自动生成在*.exe文件目录中.如图: 其中,.exe文件为Win ...

  5. jQuery操纵DOM

    一.基本操作 1.html() - 类似于原生DOM的innerHTML属性 *获取 - html(); *设置 - html("html代码"); 2.val() - 类似于原生 ...

  6. Android 性能优化 - 详解内存优化的来龙去脉

    前言 APP内存的使用,是评价一款应用性能高低的一个重要指标.虽然现在智能手机的内存越来越大,但是一个好的应用应该将效率发挥到极致,精益求精. 这一篇中我们将着重介绍Android的内存优化.本文的篇 ...

  7. mysql七:数据备份、pymysql模块

    阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...

  8. java小工具——timer

    定时器Timer 用途:做定时器用的. public static void main(String[] args) { Timer timer = new Timer(); timer.schedu ...

  9. 转载:document.execCommand()的用法小记

    首先要说明的是在firefox下支持不好.2D-Position 允许通过拖曳移动绝对定位的对象. AbsolutePosition 设定元素的 position 属性为“absolute”(绝对). ...

  10. shell里面比较大小

     #!/bin/bashif [ $1 -gt $2 ]then echo "$1>$2"else echo "$2>$1"fi# 数字判断一些命令 ...