AJAXday2post请求
来源:互联网 发布:卖衣服软件 编辑:程序博客网 时间:2024/05/21 08:03
- ajax操作中以post方式提交异步请求
a) 创建xhr
var xhr = new XMLHttpRequest();
b) 发送请求
xhr.open("post","url");xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//在post请求中有这句话,get请求中没有,此为二者的区别。xhr.send("name=suns&password=123456&…");
解释: 为什么在post方式提交数据时 需要指定 application/xxxx…?
答案:
<form method="post" action="" enctype="application/x-www-form-urlencoded"> <input type="text" name="name"/> ……</form>
表单中默认有enctype属性,只有有这个enctype属性,才可以使用request.getParameter(“name”)获取到name的值。
若做文件上传,则enctype=”multipart/form-data”
在xhr操作中 没有了form 就没有enctype属性, 所以必须手工设置
c) 处理响应
xhr.onreadystatechange = function(){ if(xhr.readySate==4 && xhr.status==200){ xhr.responseText; }}
实例代码
//首先需要引入jquery-1.8.3.js插件,放在WebContent下面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="jquery-1.8.3.js"></script> <script type="text/javascript"> $(function(){ //当name丢失焦点时调用此函数 $("#name").blur(function(){ //1.获得文本框中的内容 var name = $(this).val(); //2.发送ajax异步请求 var xhr; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open("post","CheckName"); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.send("name="+name); //xhr处理相应 xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ /* alert(xhr.responseText); */ $("#msg").text(xhr.responseText); } } }) });</script><title>注册</title></head><body> <table> <tr> <td>UserName</td> <td><input type="text" name="name" id="name"/><span id="msg"></span></td> </tr> <tr> <td>UserPassword</td> <td><input type="text" name="password" id="password"/><span id="msg"></span></td> </tr> <tr> <td>UserEmail</td> <td><input type="text" name="email" id="email"/><span id="msg"></span></td> </tr> <tr> <td><input type="button" value="注册"/></td> </tr> </table></body></html>
阅读全文
0 0
- AJAXday2post请求
- 请求
- 请求
- 请求
- 请求
- 请求地址 - 多次请求
- GET请求 Post请求
- 网络请求 同步请求
- get请求 post请求
- Get请求 Post请求
- 网络请求 多次请求
- 请求框架&移动请求
- PDP激活请求,创建请求,删除请求
- 简单网络请求/GET请求/POST请求
- 请求重定向、请求转发、请求包含
- 请求重定向,请求转发,请求包含
- 请求重定向、请求转发、请求包含
- 请求重定向|请求转发|请求包含
- Java字符串
- maven工程web层的web.xml配置文档内容
- MySQL-server安装及实现远程连接
- 学习简单算法的第二天
- STM8S 长按键识别
- AJAXday2post请求
- SpringBoot Mybatis PageHelper分页插件的两种用法(二)
- NOIP2017 Day1 T3 逛公园
- Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
- [乱说]node.js添加log4js日志功能
- 栈的相关操作
- less 学习
- 使用命令查看服务器的并发连接数
- 找出一句英文中的元音字母,使用库函数strpbrk