1. 程式人生 > >使用jQuery傳送Ajax請求

使用jQuery傳送Ajax請求

  傳統網頁與伺服器通訊往往需要通過提交整個表單來實現,這樣使用者不得不每次在提交表單時重刷整個頁面,帶來很不好的使用者體驗,在這個背景下Ajax應運而生。
  AJAX 即Asynchronous JavaScript and XML(非同步的 JavaScript 和 XML)。Ajax不是新的程式語言,而是一種使用現有標準的新方法。Ajax能在不重新載入整個頁面的情況下,與伺服器進行資料交換,實現網頁區域性重新整理。AJAX是與伺服器交換資料並更新部分網頁的藝術。更多Ajax的基本概念和語法可以參考 w3cschool的Ajax教程
  
  使用JavaScript傳送Ajax請求需要使用XMLHttpRequest物件,但是這種方式比較繁瑣,需要較大的程式碼量。更多關於JavaScript可以訪問

w3cschool的JavaScript教程。jQuery是JavaScript的一個庫,極大簡化了JS的程式設計,其中就包含了對Ajax請求的封裝。更多詳細的jQuery語法可以訪問w3cschool的jQuery教程
  只要瞭解了基本的JS語法和Ajax的基本概念、jQuery選擇器的使用,jQuery很快就能上手,使用起來非常方便。使用jQuery需要先到jQuery官網下載你所需的jQuery庫,jQuery類和函式的可以查詢jQuery官方API文件
  此處輸入連結的描述
  為此,筆者新建了一個Java web工程WebDemo,已上傳至Github的
WebDemo倉庫。在WebRoot目錄下有一個AjaxDemo.html包含了此次前端頁面的程式碼
AjaxDemo.html
。src目錄下包含了響應網頁的伺服器端程式碼AjaxDemoServlet
  AjaxDemo.html的原始碼如下。jQuery程式碼包含在script標籤中,先引用了jQuery庫的地址。在文件準備就緒後,給GET按鈕和POST按鈕新增點選監聽事件。使用了jQuery的ajax([settings])函式去傳送Ajax請求,引數是一系列用於描述請求資訊的鍵值對。具體的函式描述請見jQuery-ajax-settings
  在傳送get請求時設定請求的方法為GET,請求的URL為服務端的AjaxDemoServlet,資料交換格式為JSON,並且實現兩個回撥函式,分別在響應成功和失敗時呼叫。如果服務請求成功,通過回撥函式將取到一個JSON格式的資料。本例中該JSON物件轉換為字串後為{“name”:”wenzhuang”,”task”:”java”},可以通過回撥函式使用data.name和data.task取到對應的值,並顯示網頁上。更多關於JSON請見
w3cschool的JSON教程

  在傳送post請求時,除了設定請求方法、請求URL,資料交換格式外,還需要設定一個JSON格式的資料作為請求實體傳送到服務端。這裡是取出使用者填在表單中的使用者名稱密碼,傳送到伺服器,再通過回撥函式取回服務端的驗證資訊,顯示在網頁上。網頁的執行效果及截圖請見README.md

<!DOCTYPE html>
<html>
<head>
<script src="js/jquery-2.1.4.js"></script>
<script>
$(document).ready(function(){
  $("#getBtn").click(function(){
    $.ajax({
        type:"GET",
        url:"/WebDemo/servlet/AjaxDemoServlet",
        dataType:"json",
        success:function(data){
            $("#data").html(data.name + '的任務是' + data.task);
        },
        error:function(jqXHR){
             $("#data").html("發生錯誤:"+jqXHR.status);
        }
    });
  });

   $("#postBtn").click(function(){
      $.ajax({
        type:"POST",
        url:"/WebDemo/servlet/AjaxDemoServlet",
         data:{
           username:$("#username").val(),
           password:$("#password").val(),
        },
        dataType:"json",     
        success:function(data){
            if(data.state){
                $("#test").html(data.msg);
            }else{
                $("#test").html("驗證未通過:"+ data.msg);
            }
        },
        error:function(jqXHR){
             $("#test").html("發生錯誤:"+jqXHR.status);
        }
    });
  });
});
</script>
</head>
<body>

<div>
<button id="getBtn">GET</button>
<div id="data"></div>
</div>
<br>
<div>
<div>
<span>使用者名稱</span>
<input type="text" id="username">
</div>
<div>
<span>密 碼</span> 
<input type="text" id="password">
</div>
<button id="postBtn">POST</button>
<div id="test"></div>
</div>

</body>
</html>

相關推薦

利用JQuery傳送ajax請求進行站內搜尋

前臺程式碼:(注意要匯入JQuery包,在lib中也要匯入gson-x.x.x.jar包) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> &l

利用JQuery傳送ajax請求進行站內搜尋(Hibernate篇——超簡單系列)

此次任務是簡單的一次hibernate框架小訓練,利用上一篇的專案修改 1.導包,找到Hibernate-release-5.x.x.Final\lib\required下的所有包,copy到專案WEB-INF\lib下 2.開始編寫資料庫表(名字好煩,就亂取了) //建表h

使用jQuery傳送AJAX請求時在header中新增Token

在前後端分離開發中,使用者登入時迴向後臺請求一個令牌來做使用者的身份驗證,之後的每次請求中,HTTP請求頭都要攜帶上這個道理,我是閒的程式碼如下: $.ajax({ headers: { "token":userToken//此處放置請

使用jQuery傳送Ajax請求

  傳統網頁與伺服器通訊往往需要通過提交整個表單來實現,這樣使用者不得不每次在提交表單時重刷整個頁面,帶來很不好的使用者體驗,在這個背景下Ajax應運而生。   AJAX 即Asynchronous JavaScript and XML(非同步的 Java

jQuery傳送ajax請求,PHP響應ajax請求(含跨域)

不跨域: echo.html <!doctype html> <html lang="en"> <html> <head> <meta charset="UTF-8"> <ti

[置頂] jQuery傳送ajax請求,一次點選重複提交

問題描述: 前臺頁面 <input type="button" class="inputbutton" id="btnlogin" value="登入" /> show.js: $("#btnlogin").click(function(){ $.aj

jquery傳送ajax請求

POST方式: $.ajax({ type: "POST", url: 'aaa/bbb', data: JSON.stringify({ aa: 'aa', isdefault: isdefault //name

jquery的get方式傳送AJAX請求

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="content-type" content='text/html;charset=utf-8'> 5

jquery的post方式傳送AJAX請求

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="content-type" content='text/html;charset=utf-8'> 5

jqueryajax方式傳送AJAX請求

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="content-type" content="text/html;charset=utf-8" > 5

MVC學習筆記之使用JQuery方式傳送Ajax請求呼叫後臺Controller

通常情況下在MVC模式中我們會採用使用controller獲取業務資料(model)並將業務資料提交給view,或者由view傳遞資料給controller,再由controller更新model。在一些簡單的頁面中可以直接使用Model-->action-->

Vue2.5仿去哪兒app筆記二——swiper的自動構建 傳送ajax請求 父子元件傳值 兄弟元件間資料傳遞

swiper的自動構建 傳送ajax請求 父子元件傳值 兄弟元件間資料傳遞   swiper的自動構建 在首頁的icon頁面下,預設一個頁面中包括8個圖示。而我們希望若當頁面中有9個圖示時,可以左右拖動,形成輪播圖的效果。而且我們希望頁面能夠自動計算和適配圖示與輪播圖,

手動和自動傳送ajax請求

自動傳送  ---> 依賴jQuery檔案 例項-->GET請求: function AjaxSubmit() { $.ajax({ url:'/data', type:"GET", data:{'p':1}, succe

使用ANGULAR2的HTTP傳送AJAX請求

使用Angular2的Http傳送AJAX請求 Angular的文件並不詳細,甚至API文件也有一些錯誤。經過查閱資料並經大量實驗,終於明確了Angular的Http傳送Ajax請求的方式方法。本文描述了通過Angular的Http傳送Ajax請求相關的全部內容。請各位同事仔細閱讀並付諸實踐。

為什麼傳送ajax請求頁面也會重新整理呢?

button 標籤請新增 type='button' 屬性,因為瀏覽器預設會認為 button 的屬性是submit.type=‘submit’時會發生提交表單的預設行為。 <button type='button' class="send_msg" oncli

接入天貓精靈auth2授權頁面https傳送ajax請求

已存在一個應用A,採用的是http互動, 在接入天貓精靈時,要求請求型別是https,所以在應用服務前加了個nginx轉發https請求。在繫結授權頁面,會發送ajax請求驗證使用者名稱和密碼,採用http傳送ajax請求, 一直不能進入java後臺方法。百度後發現https頁面是不能傳送http的aja

js監測頁面關閉傳送Ajax請求(瀏覽器關閉登出使用者,清空session)

說明: 需求為頁面關閉傳送一個ajax請求,使關閉瀏覽器及時清空session(瀏覽器關閉session並不會清空) 網站同時只能一個使用者登入,同一賬號後登入的使用者不能把前一個登入的使用者踢下線,有一個問題是前一個使用者不點選登出,那麼只能等到session超時下一個使用者才能登入。下面

javaweb總結(九)--從jsp頁面傳送ajax請求,servlet接受引數並返回json資料

來自:https://blog.csdn.net/yanghan1222/article/details/78447231   今天遇到了問題把我難住了,解決之後就趕緊來記下來 這是一個很簡單的更新使用者的問題 先來看看專案所需jar包 接下來就是jsp頁面的東西

傳送ajax請求後收不到響應

向後臺傳送ajax請求,判斷伺服器處理完成後繼續處理,結果發現一直獲取不到處理完成狀態程式碼如下: xmlHttp.onreadystatechange = callback;xmlHttp.open("GET", "AJAXServletClient?userName="+ $("#descr

原生ajax請求和jQueryajax請求

原生ajax請求 var name = document.getElementById('user'); var pwd= document.getElementById('pwd'); var btn= document.getElementById('btn'); btn.oncl