ajax——提交form表单

ajax(Asynchronous JavaScript and Xml):是前后端的通信技术,不是一门新的语言。实现的功能为局部刷新,传输数据格式只能为字符串

使用ajax的大致步骤如下:

  1.首先解决兼容问题

  2.绑定事件监听函数

  3.连接服务器

  4.发送消息请求

首先写好html部分

账号:<input type = "text" id = "uname"><span id = "hint"></span>
</br>
成绩:<input type="text">

根据html代码写一个简单的php服务

<?php
 $db = ["tom","mary","jack"];
 $uname = $_REQUEST['uname'];
 $bool = false;
 foreach($db as $n){
    if($n === $uname){
      $bool = true;
      break;
     }
 }
 if($bool){
  echo "1";
 }else{
   echo "0";
}
?>

表单的提交方式有两种,分别为get和post

先看看第一种GET请求

var xhr = null;
if(window.XMLHttpRequest){
  xhr = new XMLHttpRequest()  //其他浏览器
}else{
  xhr = new ActiveXObject("Microsoft.XMLHTTP") //老版本的IE及以下
}
xhr.onreadystatechange = function(){
  if(xhr.readyState === 4){ //表示消息接受完成
     if(xhr.status === 200){  //是否为成功的响应
       console.log(xhr.responseText);
       tsxx(xhr.responseText)
     }else{
       console.log('接收到一个非成功的ajax响应' + xhr.status);
}
}
}
xhr.open("GET","03.php?uname="+unameval,true);
xhr.send(null);  

下面为POST请求

 在GET请求的第三步做修改,发送请求之前要设置请求头

xhr.setRequestHeader("Content-type","application/json; charset=utf-8"); //json
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8"); //表单数据
xhr.setRequestHeader("Content-type", "text/plain; charset=utf-8"); //纯文本
xhr.setRequestHeader("Content-type", "text/html; charset=utf-8"); //HTML

   所以根据下面写的HTMLpost请求如下

xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send('stuName=' + uname + '&score=' + score)

GET和POST请求使用的场合:

  GET:请求是为了查找资源,HTML表单数据仅用来帮助搜索;请求结果无持续副作用;收集的数据及HTML表单内的输入字段名总长不超过1024个字符

 POST:请求结果有持续的副作用,如在数据库添加新数据;要传送的数据不是采用7位的ASCII编码;表单收集的数据过长



 

  

转载于:https://www.cnblogs.com/jrrrrr/p/9297691.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值