Ajax发送POST请求

要点:

        1.基本步骤跟上一个的get方式请求,不过post请求,请求头是包含了有用的信息的,所以需要在请求头上指定Content-Type解析请求体格式,get方式请求体信息是放在query中的,不太安全。

        2.在请求体中不要有空格,实际文字和模板字符串之间,不能因为js代码习惯,破坏了请求体规定的格式,造成错误。

php代码:

<?php 
  
  if(empty($_POST['username']) || empty($_POST['password'])){
  	exit('请输入完整信息');
  }

  $username = $_POST['username'];
  $password = $_POST['password'];

  if($username === 'cyj' && $password === '123456'){
  	exit('登录成功');
  }

  exit('输入信息有误');

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
    <div id="loading"></div>
	<table>
		<tr>
			<td>用户名</td>
			<td><input type="text" id="username"></td>
		</tr>
		<tr>
			<td>密码</td>
			<td><input type="password" id="password"></td>
		</tr>
		<tr>
			<td></td>
			<td><button id="btn">登录</button></td>
		</tr>
	</table>

	<script type="text/javascript">
		var btn = document.getElementById('btn')
		var textUsername = document.getElementById('username')
		var textPassword = document.getElementById('password')

		btn.onclick = function(){
			var username = textUsername.value
			var password = textPassword.value

			var xhr = new XMLHttpRequest()
			xhr.open('POST','login.php')
			// 以POST请求方式请求login.php
            
            xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
            // 通过post方式发送urlencoded格式请求体,必须设置相应的请求头

			xhr.send(`username=${username}&password=${password}`)
			// es6新语法,模板字符串,通过esc键下面一个键的反引号,括起来的。注意这里面有固定格式,千万别有空格

			xhr.onreadystatechange = function(){
				if(this.readyState == 4){
                   alert(this.responseText)
				} 
			}
		}
	</script>
</body>
</html>

效果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值