`
zerofire
  • 浏览: 2140 次
  • 性别: Icon_minigender_1
  • 来自: 克拉玛依
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Ajax的post方法的使用

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

GET:
<mce:script type="text/javascript"><!--   
    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);   
        }   
    }   
// --></mce:script>  
<mce:script type="text/javascript"><!--
	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);
		}
	}
// --></mce:script> 

POST:
<mce:script type="text/javascript"><!--   
    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);   
        }   
    }   
// --></mce:script>  
<mce:script type="text/javascript"><!--
	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);
		}
	}
// --></mce:script>

可以发现,GET方法根据地址栏解析参数,post根据sendRequestPost(url,param);中的param字符串解析参数,重要的是POST方法中需要添加在open();方法后需要添加xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");这句代码,不知道为什么,初学,加了就能传递参数了,日后研究。。。
分享到:
评论

相关推荐

    ajax POST 与GET提交的区别

    #### 三、AJAX中GET与POST的使用建议 根据上述分析,我们可以得出以下结论: - 对于只需要获取数据且数据量不大、不涉及敏感信息的场景,推荐使用GET请求。 - 对于需要提交大量数据、涉及敏感信息或需要改变服务器...

    ajax中使用javascript的send方法post参数

    ### AJAX中使用JavaScript的send方法POST参数详解 #### 一、引言 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于实现网页的局部刷新,提升用户体验。其中,通过JavaScript发送POST请求是一...

    Ajax中get和post区别

    在上面的实例代码中,我们使用了Get和Post请求来演示两种请求方法的区别。在客户端代码中,我们使用XMLHttpRequest对象创建了一个Get请求和一个Post请求,并将参数传递给服务器端。在服务器端代码中,我们使用...

    ajaxRequest.js(ajax get post方法封装,方便前端调用)

    封装jquery ajax方法,方便调用,避免在代码中频繁使用 $.ajax({ type: 'GET', url: url, ...... )}; 统一调用公共方法即可,区分同步异步,get post!希望对大家有帮助

    NetCore Jquery使用AJAX POST方式下载Excel文件

    NetCore Jquery使用AJAX POST方式下载Excel文件

    Java 模拟Ajax POST GET 提交代码

    Java 模拟Ajax POST GET 提交代码,实测很好用。

    Ajax的Post请求

    最近做项目遇到一个需求,需要通过Ajax的post请求下载文件,把实现代码分享给大家。

    ajax快速解决参数过长无法提交成功的问题

    在ajax中使用post方法,用常规的参数格式:param1=a1&param2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求: $.ajax({ type: "post", // post or get contentType:"application...

    AJAX post 传值

    **AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况...但理解基本的XMLHttpRequest使用方法对于开发者来说是非常有价值的,因为它有助于理解和调试问题,特别是在使用这些库时遇到问题时。

    jQuery ajax、post、get、json格式传递数据例子

    本篇文章将深入探讨jQuery中的ajax、post、get方法以及如何使用json格式传递数据。 1. **jQuery的$.ajax()函数** `$.ajax()`是jQuery提供的核心Ajax功能,它可以实现异步数据交互。通过配置各种参数,可以灵活地...

    php+Ajax(GET&POST)完美实例

    本文将深入探讨如何使用PHP和Ajax解决GET和POST请求中的中文乱码问题,并结合MySQL数据库实现数据的交互。 首先,PHP是一种服务器端的脚本语言,常用于Web开发,可以生成动态网页内容。在处理中文字符时,我们需要...

    jQuery+get/post+Ajax+Json

    在上述示例中,我们使用了$.ajax方法,设置type为'POST',data为JSON对象,dataType为'json',以发送JSON数据到服务器并接收JSON响应: ```javascript $.ajax({ url: 'api.php', type: 'POST', data: JSON....

    使用jQuery的ajax的post与get发送数据到指定url

    本篇文章将深入探讨如何使用jQuery的`ajax`方法中的`post`和`get`来向指定URL发送数据。 首先,让我们了解`GET`和`POST`这两种HTTP请求方法的基本概念。`GET`是最常见的请求方式,用于从服务器获取数据,通常显示在...

    jquery的ajax方法

    **$.post()**方法是$.ajax()的一个简化的版本,主要用于发送POST类型的请求。它接收三个参数:URL、数据(可选)和回调函数。例如: ```javascript $.post('http://example.com/api/submit', {name: 'John', age: ...

    ajax跨域post(java例子)

    本篇文章将详细讲解如何使用Ajax进行跨域POST请求,并结合Java的Spring框架给出具体示例。 ### 1. 跨域请求的概念 跨域请求是指一个域下的文档或脚本尝试请求另一个域下的资源。出于安全考虑,浏览器默认禁止这种...

    lotus domino AJAX post数据

    在AJAX场景中,POST方法常用于向服务器发送表单数据或自定义数据。 以上就是关于"lotus domino AJAX post数据"这个主题的关键知识点,涵盖了前端与后端的交互、数据传输以及Lotus Domino环境下的处理逻辑。通过这些...

    ajax+pako.js实现gzip数据压缩上传,解决post数据过长问题

    在现代Web应用中,我们经常需要通过Ajax...通过以上步骤,我们可以实现使用ajax和pako.js的gzip数据压缩上传,有效解决POST数据过长的问题。这种技术尤其适用于需要发送大量数据的场景,如文件上传、实时同步大数据等。

    jQuery使用Ajax方法调用WebService.doc

    ### jQuery使用Ajax方法调用WebService知识点详解 #### 一、简介 在Web开发领域中,Ajax(Asynchronous JavaScript and XML)技术被广泛应用于实现页面局部刷新等功能,极大地提升了用户体验。结合jQuery这一流行的...

    PHP+Jquery+AJAX POST,GET提交表单并接收返回

    3. **AJAX请求**:使用jQuery的`$.ajax()`或`$.post()`,`$.get()`方法发起异步请求。例如,对于POST请求: ```javascript $.ajax({ type: 'POST', url: 'server_script.php', // PHP处理脚本路径 data: $('...

Global site tag (gtag.js) - Google Analytics