精华内容
下载资源
问答
  • Ajax向服务器发送请求

    千次阅读 2013-08-02 19:24:57
    Ajax get方式向服务器发送请求: //创建XMLHttpReques对象 function createXMLHttpRequest(){ if(window.XMLHttpRequest){ //Mozilla浏览器 XMLHttpRe

    Ajax get方式向服务器发送请求:

    <script type="text/javascript">  
        //创建XMLHttpReques对象  
        function createXMLHttpRequest(){  
              
            if(window.XMLHttpRequest){  
                //Mozilla浏览器  
                  
                XMLHttpReq=new XMLHttpRequest();  
            }else{  
                  
                //IE浏览器  
                if(window.ActiveXObject){  
                    try{  
                        XMLHttpReq=new ActionXObject("Msxm12.XMLHTTP");  
                    }catch(e){  
                        try{  
                            XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");  
                        }catch(e){}  
                    }  
                }  
            }  
        }  
        //处理服务器响应结果  
         function handleResponse() {  
            // 判断对象状态  
            if (XMLHttpReq.readyState == 4) {   
                // 信息已经成功返回,开始处理信息  
               if (XMLHttpReq.status == 200) {   
                    var out = "";  
                    var res = XMLHttpReq.responseXML;  
                    var response= res.getElementsByTagName("response")[0].firstChild.nodeValue;  
                    //5. 解析服务器返回的信息,更新用户界面  
                    document.getElementById("Hello").innerHTML = response;  
                   }  
             }  
           }  
        //发送客户端的请求  
        function sendRequest(url){  
            //1.创建XMLHttpRequest  
            createXMLHttpRequest();  
            //2.设置回调函数  
            XMLHttpReq.onreadystatechange=handleResponse;  
            //3.初始化XMLHttpRequest组建并发送请求  
            XMLHttpReq.open("GET",url,true);  
            //发送请求  
            XMLHttpReq.send(null); 
      //post请求时把GET,改为POST,还要加上
     //XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); 
     //把请求的参数写在XMLHttpReq.send(key=value);中 
        }  
        //开始调用Ajax的功能  
        function sayHello()  
        {  
            var name=document.getElementById("name").value;  
            //发送请求  
            sendRequest("SayHell?name="+name);  
        }  
    </script> 


    post方式向服务器发送请求时候要添加上:

    var name = document.getElementById("name").value;
    XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); 
    XMLHttpReq.send("name="+name);


    index.jsp页面:

    <body>
    <input type = "text" name = "name" id = "name" onblur = "sayhello();"/>
    <div id = "Hello"></div>
    </body>

    servlet代码片段:

    	public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
    		response.setContentType("text/xml;charset=UTF-8");  
            response.setHeader("Cache-Control", "no-cache"); 
    		String name = request.getParameter("name");
    		System.out.println(name);
    		 PrintWriter out = response.getWriter();
    		 out.println(name);
    		 out.close();
    	}


    展开全文
  • GET 或 POSTurl:文件在服务器上的位置async:true(异步)或 false(同步)send(string)将请求发送服务器。string:仅用于 POST 请求υ 对于是使用POST还是GET W3C上的解释如下:与 POST 相...

    1. 一、 两者方法定义上的区别:

    方法

    描述

    open(method,url,async)

    规定请求的类型、URL 以及是否异步处理请求。

    method:请求的类型;GET 或 POST

    url:文件在服务器上的位置

    async:true(异步)或 false(同步)

    send(string)

    将请求发送到服务器。

    string:仅用于 POST 请求

    • υ 对于是使用POST还是GET W3C上的解释如下:

    与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

    然而,在以下情况中,请使用 POST 请求:

    • λ 无法使用缓存文件(更新服务器上的文件或数据库)
    • λ 向服务器发送大量数据(POST 没有数据量限制)
    • λ 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
    1. 二、 两者连用说明

    但是我们在使用的时候,经常看到open函数和send函数同时使用的情况,这是为什么呢?

    1. 2.1 数据发送方面:
    • λ open方法绑定一个发送过程,但不发送数据。Send用于开始数据的发送过程。
    • λ open方法最后一个参数为true时表示异步,否则表示同步。send方法可以传入一个参数,在open方法的第一个参数为"POST"时有用,为要post的数据,在"GET"时忽略该参数。
    1. 2.2 数据接受方面:
    • λ 同步的时候,send方法要接收到服务器返回的数据后才返回。
    • λ 在异步的时候,send调用后立即返回,服务器返回的数据在onreadystatechange设置的异步回调里面进行读取。

        代码展示:

    function showHint(str)
    {
    var xmlhttp;
    if (str.length==0)
      {
      document.getElementById("txtHint").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","gethint.asp?q="+str,true);
    xmlhttp.send();
    }
    

    展开全文
  • AJAX如何向服务器发送请求

    千次阅读 2017-11-02 15:34:49
    其实很简单,AJAX向服务器发送请求其实就是使用了XMLHttpRequest对象中的两个方法Open()方法和Send()方法。对于这两个方法的介绍在我的上一章AJAX基础XMLHttpReqiest中有详细的讲解。 例如: xmlhttp.open("GET/...
    如何向服务器发送请求?
    其实很简单,AJAX向服务器发送请求其实就是使用了XMLHttpRequest对象中的两个方法 Open()方法和Send()方法。对于这两个方法的介绍在我的上一章 AJAX基础XMLHttpReqiest中有详细的讲解。
    例如:
    xmlhttp.open("GET/POST","myFile.txt",true); //指定和服务器端交互的HTTP方法
    xmlhttp.send(); //向服务器发出请求,如果采用异步方式,该方法会立即返回。
    注意:在Open()方法中的第一个参数是指定请求的类型,GET或POST。
    那么GET和POST的区别是什么?什么时候使用POST呢!?
    区别:
    1、GET一般用于信息获取,使用URL传递参数,对发送的信息是有量的限制的,一般在2000个字符,而POST一般用于修改服务器的资源,对发送的信息没有限制。
    2、GET方式需要使用Request.QueryString来获取变量的值,而POST是通过Request.Form来获取变量的值。
    3、GET是通过地址栏来传值,而POST是通过表单来传值。
    什么时候使用POST?
    与POST相比较GET会更简单而且更快。但是如果有以下需求的时候是需要使用POST的。
    1、更新服务器上的文件或数据库。
    2、向服务器发送大量的数据。
    3、发送包含未知字符的用户输入时,POST比GET更稳定也更可靠。
    例如:
    封装ajax传递参数
    
      
    /* + ================ js部分封装 begin ================ +*/
    /* * + ------------------------------------------------------------------------------------------- * | 函数说明: * + ------------------------------------------------------------------------------------------- * | ajax 函数名称,可以取任意名称。在ajax这个函数中传递三个参数 * + ------------------------------------------------------------------------------------------- * | url (需要请求的url) * + ------------------------------------------------------------------------------------------- * | funSucc (当请求成功时需要执行的DOM操作) * + ------------------------------------------------------------------------------------------- * | funFail (当请求失败的时候需要执行的DOM操作) * + ------------------------------------------------------------------------------------------- * | open方法 (接收三个必填参数,1.请求方法GET/POST,2.请求页面的url,3.是否执行异步交互) * + ------------------------------------------------------------------------------------------- * | send方法 (向服务器发出请求,如果采用的是异步方式,该方法会立即返回) * + ------------------------------------------------------------------------------------------- * | readyState属性 (判断此时浏览器与服务器的状态,值为4时表示完成,即响应数据接收完成) * + ------------------------------------------------------------------------------------------- * | status属性 (服务器返回的状态,值为200表示成功) * + ------------------------------------------------------------------------------------------- * | 如果XMLHttpRequest的状态为4且服务器返回的状态码为200的情况下则读取服务器返回的文本信息 * + ------------------------------------------------------------------------------------------- * | 否则弹出错误提示 * + ------------------------------------------------------------------------------------------- */ function ajax(url,funSucc,funFail){ var xmlhttp; // 1.创建AJAX对象 if (window.XMLHttpRequest) { // 所有现代主流浏览器基本都支持包括IE7+ xmlhttp = new XMLHttpRequest(); }else{ // 主要兼容IE5、IE6 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } // 2.连接服务器 // open(方法,url,异步交互) xmlhttp.open("GET", url, true); // 3.发送请求 xmlhttp.send(); // 4.接收返回的数据 xmlhttp.onreadystatechange = function () { //xmlhttp.readyState 浏览器和服务器,进行到哪一步了 if(xmlhttp.readyState == 4) //读取完成 { if(xmlhttp.status == 200) //成功 { funSucc(xmlhttp.responseText); } else { funFail(xmlhttp.status); } }; }; };
    /* + ================ js部分封装 end ================ +*/
    注意:上面的写法能不能改为下面的写法
    xmlhttp.onreadystatechange = function(){
    // xmlhttp.readyState属性判断浏览器和服务器,进行到哪一步了
    	if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
    		funSucc(xmlhttp.responseText);
    	}else{
    		funFail(xmlhttp.status);
    	}
    };
    答案是可以的,但是有点小bug如果我们不需要返回错误处理,也就是不写条件语句中的else语句的话,那么结果没有影响,一样能输出正确的结果但是如果需要错误处理那么就不能够用上面的这种写法,因为在 xmlhttp.readyState == 4 && xmlhttp.status == 200 的判断过程中,这个期间是有一个过程的 readyState 属性的值到 4 的时候还需要经过 0~3 这个过程,也就是说在 0~3 这个过程中 xmlhttp.readyState == 4 && xmlhttp.status == 200 是不成立的所以就会执行 false也就是else 这个语句里面的代码块,但是当 readyState 值为4 的时候马上又会执行 true 里面的代码块所以综上考虑最好还是不要用上面的那种写法。也就是在 xmlhttp.readyState == 4 为true是在进行一次判断,这样就有效避开了 0~3 的这个过程。
    
      
    /* + ================html部分调用 begin ================ +*/
    <!doctype html> <html> <head> <meta charset="utf-8"> <title>ajax实例</title> <script type="text/javascript" src="./js/newajax.js"></script> </head> <body> <p id="op"></p> <button id="btn">点击</button> <script type="text/javascript"> function myFunction(clickBtn) { var oBtn = document.getElementById(clickBtn); oBtn.onclick = function() { ajax("ajax.txt",function(sucInfo) { document.write(sucInfo); } ,function(sucInfo) { console.log(sucInfo); }); }; }; myFunction("btn"); </script> </body> </html>
    /* + ================html部分调用 end ================ +*/
    如有理解不当之处,欢迎各位老铁留言指正。谢谢!!!!
    展开全文
  • AJAX - 向服务器发送请求请求

    千次阅读 2017-01-04 01:19:48
    AJAX - 向服务器发送请求请求 XMLHttpRequest 对象用于和服务器交换数据。 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: xmlhttp.open(...
  • 利用Ajax向服务器发送请求
  • WEB开发 之 AJAX - 向服务器发送请求.docx
  • AJAX - 向服务器发送请求

    千次阅读 2014-04-03 19:35:52
    向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: xmlhttp.open("GET","test1.txt",true); xmlhttp.send(); 方法 描述 open(method,url
  • AJAX 工作原理 1.客户端触发一个事件,时间产生一个 XMLHttpRequest 对象,发送 Http ... ... 3.客户端通过 JS 获取数据,更新页面。 AJAX - 向服务器发送请求请求 XMLHttpRequest 对象用于和服务器交换数据。如需将请求发
  • PHP AJAX open()和send()方法 向服务器发送请求
  • ajax使用步骤: 1.给后端发请求 ...然后向服务器发送请求,以下是两种发送请求的方法(“GET&amp;amp;amp;amp;amp;amp;amp;amp;quot;和&amp;amp;amp;amp;amp;amp;amp;amp;quot;POST”) xhr.
  • 新建标签引入符合AMD规范的加载器,如esl.js,引入jquery为等一下AJAX发送POST请求做准备 < script src ="echarts/esl.js" > script > < script src ="echarts/jquery.min.js" > script > 路径...
  • AJAX 基于现有的internet标准: XMLHttpRequest 对象 (异步...GET请求、异步请求、来自服务器的响应并非XML 使用方法(举例说明): &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt...
  • 用jquery向服务器发送请求get&post

    千次阅读 2015-02-11 19:04:24
    本文主要介绍通过jquery利用内置的ajax向服务器发送get和post请求,简洁而且有效,本人已经测试通过 一.介绍get方法,代码如下 $(document).ready(function(){ $("button").click(function(){ $.get(...
  • Ajax中自定义发送请求和处理响应对象
  • 用JQ来写AJAX发送请求服务器

    千次阅读 2016-12-05 00:27:23
    用JQ发送AJAX请求服务器,接收数据并处理。
  • 使用AJAX如何向服务器发出请求

    千次阅读 2017-08-24 20:14:19
    如何做出请求 1 .首先从一个URL开始,毕竟,我们要告诉浏览器到哪里找我们要的数据: var url="http://someserver.com/data.json"; 2.接下来使用XMLHttpRequest构造函数创建一个请求对象: var ...
  • "time").innerHTML = "服务器时间是:"+curDate.getFullYear()+"-"+(curDate.getMonth()+1)+"-"+curDate.getDate()+" "+curDate.getHours()+":"+curDate.getMinutes()+":"+ curDate.getSeconds(); } } } 3...
  • 1. 地址栏输入  2. 超链接 &lt;a href = "...来接收客户端发送过来的请求信息 1) 常用方法 2) 获取请求头   3) 获取客户端请求参数(客户端提交的数据)      请求乱码解决: ...
  • 1.首先我们需要json.js这个js文件,因为我们要利用JSON对象把对象变为JSON串,例如 var person = { name : 'yewenjun', school: 'zafu' ...然后我们用xml对象的send方法来发送转化好的JSON串 xml.send...
  • Ajax基本原理之发送请求

    千次阅读 2016-08-05 21:26:03
    AJAX - 向服务器发送请求 向服务器发送请求,只需要简单的三步。 一、创建XMLHttpRequest 对象 var xhr=new XMLHttpRequest();//首先暂不做兼容性的考虑 二、打开xhr对象的open方法,(ps:这只是打开,并没有...
  • 两台nginx服务器,一台nginx服务部署了一个H5页面,另一台nginx服务器部署了后台服务,手机访问该H5页面,在该页面上发送了一个ajax请求,则后台服务器接收到的是 nginx服务器的ip地址还是手机端的ip地址

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 140,649
精华内容 56,259
关键字:

ajax向服务器发送请求