原生javascript的ajax请求及后台PHP响应操作示例


Posted in Javascript onFebruary 24, 2020

本文实例讲述了原生javascript的ajax请求及后台PHP响应操作。分享给大家供大家参考,具体如下:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <table id="t">
    <tr>
      <td>学号:</td>
      <td><input type="text" id="stuid" /></td>
    </tr>
    <tr>
      <td>密码:</td>
      <td><input type="password" id="stupass" /></td>
    </tr>
    <tr>
      <td colspan="2">
        <input id="btnLogin" type="button" value="登录" />
      </td>
    </tr>
  </table>
</body>
</html>

ajax的一般步骤

1、创建对象

let xhr = new XMLHttpRequest();

2、设置请求参数

xhr.open(请求方式,请求地址,是否异步);

3、设置回调函数

xhr.onreadystatechange = function () {
    // 5、接收响应
  alert(xhr.responseText);
}

4、发送

xhr.send();
<script type="text/javascript">
window.onload = function(){
  $("#btnLogin").onclick = function(){
    //1、创建对象
    let xhr = new XMLHttpRequest();
    //2、设置请求参数
    xhr.open('post','loginCheckajax.php',true);
    //3、设置回调函数
    xhr.onreadystatechange = function(){
      if(xhr.readyState==4 && xhr.status==200){
        if(xhr.responseText=='1'){
          //存cookie
          saveCookie("username",$("#stuid").value,7);
          //挑到首页
          location.href="index.html" rel="external nofollow" ;
        }else{
          alert("登录失败!");
        }
      }
    }
    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    //4、发送
    xhr.send("stuid="+$("#stuid").value+"&stupass="+$("#stupass").value);
  }
}
function $(str){  //id class tagname
  if(str.charAt(0) == "#"){
    return document.getElementById(str.substring(1));
  }else if(str.charAt(0) == "."){
    return document.getElementsByClassName(str.substring(1));
  }else{
    return document.getElementsByTagName(str);
  }
}
</script>

php文件

<?php
  header("Content-type:text/html;charset=utf-8");
  //一、获取用户的输入
  $stuid = $_POST['stuid'];
  $stupass = $_POST['stupass'];
  //二、处理
  //1、建立连接(搭桥)
  $conn = mysql_connect('localhost','root','root');
  if(!$conn){
    die("连接失败");
  }
  //2、选择数据库(选择目的地)
  mysql_select_db("mydb1809",$conn);
  //3、执行SQL语句(传输数据)
  $sqlstr="select * from student where stuid='$stuid' and stupass='$stupass'";
  $result = mysql_query($sqlstr,$conn);//结果是个表格
  //4、关闭数据库(过河拆桥)
  mysql_close($conn);
  //三、响应
  if(mysql_num_rows($result)>0){
    echo "1";
  }else{
    echo "0";
  }
?>
<!-- 保存cookie -->
<script>
  // saveCookie
//保存cookie
//参数:
//键
//值
//有效期(单位是:天)
//返回值:无
function saveCookie(key,value,dayCount){
  var d = new Date();
  d.setDate(d.getDate()+dayCount);
  document.cookie = key+'='+escape(value)+';expires='+d.toGMTString();
}
//获取cookie(根据键获取值)
//参数:
//键
//返回值:值
function getCookie(key){
  var str = unescape(document.cookie);//username=jzm; userpass=1236667
  //1、分割成数组(; )
  var arr = str.split('; ');//['username=jzm','userpass=1236667']
  //2、从数组查找key=;
  for(var i in arr){
    if(arr[i].indexOf(key+'=')==0){
      return arr[i].split('=')[1];
    }
  }
  return null;
}
//删除cookie
//参数:
//键
//返回值:无
function removeCookie(key){
  saveCookie(key,'',-1);
}
</script>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Ucren Virtual Desktop V2.0
Nov 07 Javascript
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
Mar 06 Javascript
js 数据类型转换总结笔记
Jan 17 Javascript
offsetHeight在OnLoad中获取为0的现象
Jul 22 Javascript
使用jQuery实现星级评分代码分享
Dec 09 Javascript
详解Javascript数据类型的转换规则
Dec 12 Javascript
JavaScript简单生成 N~M 之间随机数的方法
Jan 13 Javascript
label+input实现按钮开关切换效果的实例
Aug 16 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
Oct 08 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
Oct 30 Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 Javascript
三步搞定:Vue.js调用Android原生操作
Sep 07 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 #Javascript
原生javascript中this几种常见用法总结
Feb 24 #Javascript
js实现坦克大战游戏
Feb 24 #Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 #Javascript
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 #Javascript
浅谈TypeScript的类型保护机制
Feb 23 #Javascript
原生javascript制作的拼图游戏实现方法详解
Feb 23 #Javascript
You might like
使用PHP的日期与时间函数技巧
2008/04/24 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
jquery 指南/入门基础
2007/11/30 Javascript
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Python 支付整合开发包的实现
2019/01/23 Python
Python Subprocess模块原理及实例
2019/08/26 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
创业计划书之甜品店
2019/09/18 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server