js實現ajax的post請求步驟

來源:互聯網
上載者:User

標籤:not found   2.x   orb   接收   pat   方式   bsp   實現   prot   

post請求步驟與前篇的get請求步驟差別不大,只是增加了

 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");

這裡直接上代碼:

在web\02_testpost 分別建立兩個檔案posttest.jsp和test.js

<%@ page language="java"  pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>     <script type="text/javascript" src="./test.js"></script>  </head>  <body>     <form action="" enctype="application/x-www-form-urlencoded">          <input type="button" name="ok" id="ok" value="測試伺服器串連">      </form>  </body></html>

 

//當頁面載入完畢之後,執行以下代碼window.onload = function(){    document.getElementById("ok").onclick = function(){        /*         * 1    建立XMLHttpRequest對象         */          var xhr = ajaxFunction();                /*         * 2    伺服器向瀏覽器響應請求         *          * readyState 屬性工作表示Ajax請求的目前狀態。它的值用數字代表。                0 代表未初始化。 還沒有調用 open 方法                1 代表正在載入。 open 方法已被調用,但 send 方法還沒有被調用                2 代表已載入完畢。send 已被調用。請求已經開始                3 代表互動中。伺服器正在發送響應                4 代表完成。響應發送完畢                            常用狀態代碼及其含義:                404 沒找到頁面(not found)                403 禁止訪問(forbidden)                500 內部伺服器出錯(internal service error)                200 一切正常(ok)                304 沒有被修改(not modified)(伺服器返回304狀態,表示源檔案沒有被修改 )         */          xhr.onreadystatechange = function(){             alert(xhr.readyState);            //alert(xhr.status);            if(xhr.readyState==4){                if(xhr.status==200||xhr.status==304){                    var data = xhr.responseText;                    alert(data);                }            }         }                /*         * 3    瀏覽器與伺服器建立串連         *          * xhr.open(method, url, asynch);         *         * 與伺服器建立串連使用         *         * method:請求類型,類似 “GET”或”POST”的字串。         *         * url:路徑字串,指向你所請求的伺服器上的那個檔案。請求路徑         *         * asynch:表示請求是否要非同步傳輸,預設值為true(非同步)。         */          xhr.open("POST","../testServlet?timeStamp="+new Date().getTime()+"&c=18",true);                  //如果是POST請求方式,佈建要求首部資訊         xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");                         /*         * 4    瀏覽器向伺服器發送請求         *          *     send()方法:         *         * 如果瀏覽器請求的類型為GET類型時,通過send()方法發送請求資料,伺服器接收不到             *         * 如果瀏覽器請求的類型為POST類型時,通過send()方法發送請求資料,伺服器可以接收         */          xhr.send("a=6&b=9");        //xhr.send(null);    }}function ajaxFunction(){   var xmlHttp;   try{ // Firefox, Opera 8.0+, Safari        xmlHttp=new XMLHttpRequest();    }    catch (e){       try{// Internet Explorer             xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");          }        catch (e){          try{             xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");          }          catch (e){}          }    }    return xmlHttp; }
package com.servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;/** * Created by huangyichun on 2016/12/7. */@WebServlet(name = "testServlet",urlPatterns = "/testServlet")public class TestServlet extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        System.out.println("a=" + request.getParameter("a"));        System.out.println("c=" + request.getParameter("c"));        PrintWriter out = response.getWriter();        out.println("get connection server success");    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        System.out.println("connection...");        System.out.println("a=" + request.getParameter("a"));        System.out.println("c=" + request.getParameter("c"));        PrintWriter out = response.getWriter();        out.println("get connection server success");    }}

 

js實現ajax的post請求步驟

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.