1. 程式人生 > >使用AJAX非同步獲取資料

使用AJAX非同步獲取資料

AJAX這個名字看起來很神奇,我第一次見到它也被它吸引了,它是Asynchronous JavaScript and XML的簡寫,非同步的JAVASCRIPT和XML,關於AJAX的介紹在網上的介紹太多了,我就不多那麼多了,我的口才不好,沒他們說的那麼精彩,可以去http://zh.wikipedia.org/wiki/AJAX 看看,在這裡我只是給大家一個例子,瞭解如何去使用AJAX

AJAX最有意思的地方就是可以不用重新整理網頁而可以和後臺進行互動,不需要對頁面進行重新整理,實現網頁與網頁間的平滑過渡使用AJAX不需要安裝新的外掛,只要求你的瀏覽器支援JAVASCRIPT

首先你需要你個JAVASCRIPT中的物件XMLHttpRequest,它是AJAX的核心,我們都圍繞著它做事,通過下面的程式碼可以獲取一個:

if (window.XMLHttpRequest){

xmlObj = new XMLHttpRequest();

}else if (window.ActiveXObject){

xmlObj = new ActiveXObject("Microsoft.XMLHTTP");

}

我們通過這個物件的OPEN方法向服務傳送請求,

該函式宣告為XMLHttpRequest.open(String method, String URL, boolean asynchronous);

method是請求的方式,可以為GET和POST

URL是你要請求的資源

asynchronous是布林型別,為true表示互動設定為非同步

xmlObj.open("GET",URL,true);

xmlObj.send("");

呼叫send()(引數是空或是null)將會發起一次請求,

對於GET方式的請求,兩次同樣的請求將會得到相同的結果,

由於為將互動設定為非同步方式,因此要為指定一個回撥函式:

xmlObj.onreadystatechange = callBackFunction;

剩下的事就交給回撥函式處理了

有一點要注意了,用Servlet或JSP來響應非同步請求時,

要設定reponse的contentType屬性指明是XML格式:

response.setContentType("text/xml");

一切都準備好了,那我們現在來做一個簡單的非同步請求,並將請求返回的結果顯示出來:

客戶端:

<html>

<script language="javascript">

function load(resource) {

if (window.XMLHttpRequest){

xmlObj = new XMLHttpRequest();

}else if (window.ActiveXObject){

xmlObj = new ActiveXObject("Microsoft.XMLHTTP");

}else {

return;

}

xmlObj.onreadystatechange = handleResponse;

xmlObj.open("GET",resource,true);

xmlObj.send("");

}

function handleResponse() {

if (xmlObj.readyState == 4){//xmlObj loaded

if (xmlObj.status == 200){

var datas = xmlObj.responseXML.getElementsByTagName("data");

var obj = document.getElementById("data");

obj.innerText = datas[0];

}

}

}

</script>

<body>

<p><a href="#" onclick="load('data.jsp')">傳送請求</a></p>

<p id="data">看這裡!</p>

</body>

</html>

以下是data.jsp

<%response.setContentType("text/xml");%>

<?xml version='1.0' encoding='gb2312' ?>

<home>

<data>Zjcfan</data>

</home>

 

相關推薦

ajax非同步獲取資料後動態向表格中新增資料(行)

因為某些原因,專案中突然需要做自己做個ajax非同步獲取資料後動態向表格中新增資料的頁面,網上找了半天都沒有 看到現成的,決定自己寫個例子 1、HTML頁面 <html xmlns="http://www.w3.org/1999/xhtml"> <hea

使用AJAX非同步獲取資料

AJAX這個名字看起來很神奇,我第一次見到它也被它吸引了,它是Asynchronous JavaScript and XML的簡寫,非同步的JAVASCRIPT和XML,關於AJAX的介紹在網上的介紹太多了,我就不多那麼多了,我的口才不好,沒他們說的那麼精彩,可以去http:

ajax非同步獲取資料繪製echarts圖表

使用Jquery庫中的ajax()方法,動態獲取json資料,對獲取到的json資料進行清洗,然後將清洗好的資料傳給Echarts圖表。 Echarts圖表(示例) json資料(示

java+jquery+json+ajax非同步獲取資料

專案開發中,很多時候需要使用ajax+json來獲取伺服器資料, 同時伺服器也會採用返回json資料以達到跨平臺訪問的形式: 我們利用sturts2 完成一個demo,自行搭建struts2的環境:

ajax操作ajax非同步獲取資料,查詢使用者資料

//建立非同步物件function createXMLHttpRequest1() { if (window.ActiveXObject) { xmlHttp =new ActiveXObject("Microsoft.XMLHTTP"); } elsei

非同步獲取資料Ajax,以及對獲取資料進行繫結(顯示在頁面上)

                最近,經常用Ajax去非同步獲取資料,今天就把它總結一下 1.Ajax是非同步的JavaScr

Vue 父元件ajax非同步更新資料,子元件props獲取不到

當父元件  axjos  獲取資料,子元件使用  props  接收資料時,執行  mounted  的時候  axjos  還沒有返回資料,而且  mounted 只執行一次,這時   props  中接收的資料為空解決方案:在對應元件中判斷資料的長度

使用ssm框架 通過ajax非同步提交資料具體實現方法

以前是一名php開發人員,最近公司開始一個java開發的erp專案,從新學起的感覺倍爽,各種問題各種遇到,從通過ajax非同步提交資料具體實現方法這裡開始,以後在部落格上慢慢呈現,話不多說,下面就是我通過springMvc和ajax非同步實現資料更新的解決方法。 雖然網上已經有好多的解決的方

vue 父元件非同步獲取資料與子元件通訊props資料不通;

父元件非同步獲取資料時,通過props向子元件傳遞資料時資料不通。 原因可能是父元件在非同步獲取資料時使用了箭頭函式, 例: //父元件 export default{ data(){ return {

Struts2框架非同步獲取資料

通過流的方式傳遞,可以用來傳遞簡單資料,適合於無結構,簡單的字串資訊等 (1) 需要在Action類中新增一個InputStream屬性,將非同步請求處理要響應的結果內容轉換成輸入流提供給框架,框架會間接通過輸出流響應給瀏覽器 public class S

關於ajax後臺獲取資料 ,echarts表呈現資料

首先建立後臺json資料  自己構造的後臺資料如下: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcepti

ajax非同步請求資料,用bootstrap中的tree模板實現tree

後臺資料格式json資料data: {"0":[{"id":1,"fatherId":0,"typeName":"測試","typeIndex":0,"typeStatus":"1"}], "1":[{"id":2,"fatherId":1,"typeName":"測試類別

Ajax非同步載入資料及Redis快取

    針對網頁分類條目的動態載入,圖為頁面的Head部分。   //categoryListServlet準備分類資料 ProductService service = new ProductService(); List<Category> ca

echarts ajax 動態獲取資料

keys 和 values 都是動態資料 注意如果資料是{value:335, name:'直接訪問'}這種格式 需要使用eval('(' + strtojson + ')') 轉一下//載入圖表 start $(function(){ $.ajax(

09.1.VUE學習之watch監聽屬性變化實現類百度搜索欄功能ajax非同步請求資料,返回陣列

09.1html裡 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">

Echarts -- 條件查詢ajax動態獲取資料

  最近因為需要用到了Echarts這個外掛,下面是自己的一點使用心得效果圖:直接上程式碼:js:<%@ page import="org.apache.commons.lang3.RandomStringUtils" %> <%@ page languag

根據下拉值,使用ajax動態獲取資料(在頁面顯示資料

前端:1一個下拉html:此處省略2下面是ajax//動態選擇產品:根據產品型別動態編輯產品 function changepType() { $.ajax({ async :

ajax 非同步提交資料、檔案和跨域提交的實現

在網站中經常需要無重新整理提交資料,或者上傳圖片的情況,還有就是跨域提交的情況,現記錄下自己的總結,以待後續。 1.非同步提交資料: function getAjax(){ $.ajax({type : "get",dataType : "json",url : "/ne

1、解決ajax非同步請求資料後swiper不能迴圈輪播(loop失效)問題、滑動後不能輪播的問題。

問題描述:        1、我使用axios非同步請求後臺的圖片進行渲染後不能實現迴圈輪播,也就是loop失效,但是靜態寫死的情況下不會出現這種問題。        2、 分析:      

怎麼使用jquery中ajax獲取資料

好久沒有寫雞湯了,真的是三天不要學習,就不學習了,1玩小時定律你懂的,直接說怎麼寫是做好的,直說最簡單的方式,】 【1】 我一般習慣幫專案放在php環境的www目錄下執行.如果知道php的都知道怎麼回事,還是來說怎麼安裝這個吧 , 直接搜尋WampServe