原生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 相关文章推荐
Javascript操纵Cookie实现购物车程序
Feb 15 Javascript
基于jquery的多功能软键盘插件
Jul 25 Javascript
js正则匹配出所有图片及图片地址src的方法
Jun 08 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
Nov 02 Javascript
jQuery formValidator表单验证
Jan 07 Javascript
JavaScript中的Number数字类型学习笔记
May 26 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
Jul 06 Javascript
JavaScript实现购物车基本功能
Jul 21 Javascript
Angular2之二级路由详解
Aug 31 Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 Javascript
vue中axios封装使用的完整教程
Mar 03 Vue.js
利用JavaScript写一个简单计算器
Nov 27 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
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
Python实现批量下载文件
2015/05/17 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
中软国际Java程序员笔试题
2014/07/19 面试题
校园招聘策划书
2014/01/09 职场文书
法律进社区实施方案
2014/03/21 职场文书
五年级上册复习计划
2015/01/19 职场文书
职工食堂管理制度
2015/08/06 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android
Elasticsearch 配置详解
2022/04/19 Java/Android
python中validators库的使用方法详解
2022/09/23 Python