当前位置: 首页 > news >正文

Ajax的post方法的使用

刚开始学Ajax,看到很多网上的代码都用Get方法提交参数,Tomcat默认ISO编码实在是让人头痛,对付乱码我都是用过滤器做字符编码过滤的,Get方法过滤器监听不到,所以我一直喜欢使用Post方法,下面对Ajax Get和Post方法做一对比

 

GET:

	var xmlHttpRequest;
	function createXMLHttpRequest(){
		try
	    {
	   // Firefox, Opera 8.0+, Safari
	    xmlHttpRequest=new XMLHttpRequest();
	    }
	 catch (e)
	    {

	  // Internet Explorer
	   try
	      {
		   xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
	      }
	   catch (e)
	      {

	      try
	         {
	    	  xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
	         }
	      catch (e)
	         {
	         alert("您的浏览器不支持AJAX!");
	         return false;
	         }
	      }
	    }

	}
	//发送请求函数
	function sendRequestPost(url,param){
		createXMLHttpRequest();
		xmlHttpRequest.open("GET",url+"?"+param,true);
		xmlHttpRequest.onreadystatechange = processResponse;
	}
	//处理返回信息函数
	function processResponse(){
		if(xmlHttpRequest.readyState == 4){
			if(xmlHttpRequest.status == 200){
				var res = xmlHttpRequest.responseText;
				window.alert(res);
			}else{
				window.alert("请求页面异常");
			}
		}
	}
	//身份验证函数
	function userCheck(){
		var userName = document.loginForm.username.value;
		var psw = document.loginForm.password.value;
		if(userName == ""){
			window.alert("用户名不能为空");
			document.loginForm.username.focus();
			return false;
		}
		else{
			var url = "Servlet/userLogin_do";
			var param = "userName="+userName+"&psw="+psw;
			sendRequestPost(url,param);
		}
	}


 

POST:

	var xmlHttpRequest;
	function createXMLHttpRequest(){
		try
	    {
	   // Firefox, Opera 8.0+, Safari
	    xmlHttpRequest=new XMLHttpRequest();
	    }
	 catch (e)
	    {

	  // Internet Explorer
	   try
	      {
		   xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
	      }
	   catch (e)
	      {

	      try
	         {
	    	  xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
	         }
	      catch (e)
	         {
	         alert("您的浏览器不支持AJAX!");
	         return false;
	         }
	      }
	    }

	}
	//发送请求函数
	function sendRequestPost(url,param){
		createXMLHttpRequest();
		xmlHttpRequest.open("POST",url,true);
		xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlHttpRequest.onreadystatechange = processResponse;
		xmlHttpRequest.send(param);
	}
	//处理返回信息函数
	function processResponse(){
		if(xmlHttpRequest.readyState == 4){
			if(xmlHttpRequest.status == 200){
				var res = xmlHttpRequest.responseText;
				window.alert(res);
			}else{
				window.alert("请求页面异常");
			}
		}
	}
	//身份验证函数
	function userCheck(){
		var userName = document.loginForm.username.value;
		var psw = document.loginForm.password.value;
		if(userName == ""){
			window.alert("用户名不能为空");
			document.loginForm.username.focus();
			return false;
		}
		else{
			//var url = "Servlet/userLogin_do?userName="+userName+"&psw="+psw;
			var url = "Servlet/userLogin_do";
			var param = "userName="+userName+"&psw="+psw;
			sendRequestPost(url,param);
		}
	}


 

 

 

相关文章:

  • JS刷新当前页面
  • js中SetInterval与setTimeout
  • json 让ajax加速
  • Jquery getJSON方法分析
  • 请确保在编译时已将“AjaxControlToolkit.Properties.Resources.NET4.resources”正确嵌入或链接到程序集“AjaxControlToolkit”
  • ASP.NET2.0中Page.ClientScript.RegisterClientScriptBlock与RegisterClientScriptBlock
  • jQuery Ajax 实例 全解析
  • System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认
  • 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载
  • Asp.net错误“System.Web.HttpException: 超过了最大请求长度”解决办法
  • SQL中使用update inner join和delete inner join.
  • ASP.NET C# 数字格式化输出
  • js中indexof详解
  • JQuery判断HTML元素是否存在
  • JSON数据格式介绍 .
  • 网络传输文件的问题
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • [译] React v16.8: 含有Hooks的版本
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 03Go 类型总结
  • CentOS6 编译安装 redis-3.2.3
  • Date型的使用
  • If…else
  • Joomla 2.x, 3.x useful code cheatsheet
  • JS笔记四:作用域、变量(函数)提升
  • js写一个简单的选项卡
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Meteor的表单提交:Form
  • react 代码优化(一) ——事件处理
  • Sass 快速入门教程
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 阿里云Kubernetes容器服务上体验Knative
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 精彩代码 vue.js
  • 使用docker-compose进行多节点部署
  • 使用SAX解析XML
  • 数据科学 第 3 章 11 字符串处理
  • 项目管理碎碎念系列之一:干系人管理
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (175)FPGA门控时钟技术
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (六)软件测试分工
  • (三分钟)速览传统边缘检测算子
  • (四) 虚拟摄像头vivi体验
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net对接阿里云CSB服务
  • .NET中的十进制浮点类型,徐汇区网站设计
  • /*在DataTable中更新、删除数据*/
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • [20140403]查询是否产生日志
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [CSS]CSS 字体属性