1. 程式人生 > >ajax請求返回xml資料(含服務端程式碼)

ajax請求返回xml資料(含服務端程式碼)

ajax技術目前已經被jquery包裝的比較完美,但自己使用的地方仍然很多,所以需要自己能夠自定義ajax方法。

以下是從前端ajax發出請求,後臺響應返回xml資料,ajax接收並處理的完整過程,例項簡單易懂,可以根據實際情況進行修改。

後臺程式碼為Java。

jsp頁面

<script>

//定義ajax引擎

var myXmlHttpRequest="";

//獲取ajax引擎函式

function getXmlHttpObject(){
var xmlHttpRequest;
//不同的瀏覽器獲取物件xmlhttprequest 物件方法不一樣
if(window.ActiveXObject){


xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlHttpRequest=new XMLHttpRequest();
}
return xmlHttpRequest;
}

主函式

function getTqByAjax(){

myXmlHttpRequest=getXmlHttpObject();
//判斷建立ok
if(myXmlHttpRequest){
//通過myXmlHttpRequest物件傳送請求到伺服器的某個頁面
var url="<c:url value='/preInfo.tq?method=getTqByAjax'/>";
//這個是要傳送的資料
var data="";//我這裡為空
//開啟請求.
myXmlHttpRequest.open("post",url,true);
//還有一句話,這句話不能少.
myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//指定回撥函式.chuli是函式名
myXmlHttpRequest.onreadystatechange=chuli;
//真的傳送請求,如果是get請求則填入 null即可
//如果是post請求,則填入實際的資料
myXmlHttpRequest.send(data); 
}

}

//回撥函式,接收資料並處理

function chuli()[

//window.alert("處理函式被調回"+myXmlHttpRequest.readyState);
if(myXmlHttpRequest.readyState==4){
var xmlDoc=myXmlHttpRequest.responseXML;
//取出mes節點值
var mes=xmlDoc.getElementsByTagName("mes");

//window.alert(mes.length);
//mes[0]->表示取出第一個mes節點
//mes[0].childNodes[0]->表示第一個mes節點的第一個子節點

window.alert(mes[0].childNodes[0].nodeValue);
//這裡寫你的程式碼

//………………

}

}
</script>

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Java後臺

@RequestMapping(params = "method=getTqByAjax")
public void getTqByAjax (HttpServletRequest request,
HttpServletResponse response){

PrintWriter out = null;
try {
out = response.getWriter();
response.setContentType("text/xml");//告訴瀏覽器返回的xml型別
response.setHeader("Cache-Control", "no-cache");//告訴瀏覽器不要快取資料
StringBuffer buf = new StringBuffer();
buf.append("<?xml version=\"1.0\" encoding=\"GBK\"?>");
buf.append("<res><mes>success</mes></res>");
out.println(buf);
out.flush();  

} catch (Exception e) {
// TODO: handle exception
}finally{

out.close();//關閉流

}
}

相關推薦

ajax請求返回xml資料服務程式碼

ajax技術目前已經被jquery包裝的比較完美,但自己使用的地方仍然很多,所以需要自己能夠自定義ajax方法。 以下是從前端ajax發出請求,後臺響應返回xml資料,ajax接收並處理的完整過程,例

使用 servlet 響應ajax請求,返回 json 資料

前提:會寫一個 servlet ,參考文章 寫一個 servlet 的方法 1.匯入物件轉 json 的jar 包 我這裡使用的時maven 導包 <dependency> <groupId>com.fasterxml.jackson.core&

關於ajax請求返回json資料不進入回撥函式的可能情況

最近做一個專案,一般都是用json資料先模擬後端返回資料,結果昨天正常傳送一個get請求後,json資料請求正常,但是一直都沒法進入success回撥執行後續方法,搗鼓了很久,才發現get請求返回的json資料格式有問題,由於是自己模擬json資料,粗心導致少了一個標點符號

list集合轉換成json資料ajax請求返回json資料,再通過迴圈顯示出來

之前在網上查了很多關於迴圈顯示ajax返回值的方法,很多都不對的,顯示不了我要的結果。後來自己鼓搗出來了,發出來分享一下自己的成果。因為ajax不能返回集合的,需要把集合list轉換成json返回,再用迴圈的方式,顯示出結果。 操作層 //編碼方式request.set

vue-cli專案如何使用vue-resource獲取本地的json資料模擬服務返回資料

最近使用vue-cli做了一個小小的專案,在專案中需要使用vue-resource來與後臺進行資料互動,所以我使用了本地json資料來模仿後臺獲取資料的流程。至於vue-resource的安裝和json的準備我就不贅述了、、、 下面是操作方法: 1、首先介紹

java socket網路程式設計例項程式碼服務和客戶

本程式碼為java socket網路程式設計例項程式碼,包括客戶端和服務端,實現客戶端傳送訊息,服務端接收並反饋訊息。 server.java為服務端程式碼。 client.java為客戶端程式碼。 服務端程式碼server.java: package socket;

CANOpen系列教程06_結合程式碼理解CAN底層收發資料STM32例程

該系列教程已經在我的個人微信公眾號**「strongerHuang」**整理並分享。因在這裡分享文章,還需單獨整理一遍,時間有限,就不再一一重複整理出來了。 想要檢視更多相關教程,可以關注我的個人微信公眾號「strongerHuang」,回覆【CANOpen系

在瀏覽器進行大檔案分片上傳java服務實現

最近在做web網盤的系統,網盤最基本的功能便是檔案上傳,但是檔案上傳當遇到大檔案的時候,在web端按傳統方式上傳簡直是災難,所以大檔案上傳可以採用分片上傳的辦法。其主要思路是:1.大檔案上傳時進行分片;2.分片上傳;3.對分片檔案進行合併。 思路比較清晰簡單,但一些問題在於:1.大檔案如何進

Python分散式爬蟲打造搜尋引擎網站課件&程式碼

未來是什麼時代?是資料時代!資料分析服務、網際網路金融,資料建模、自然語言處理、醫療病例分析……越來越多的工作會基於資料來做,而爬蟲正是快速獲取資料最重要的方式,相比其它語言,Python爬蟲更簡單、高效 ----------------------課程目錄--

【Java】《Java程式設計思想》筆記練習題答案程式碼-第二章 一切都是物件

2.1 用引用操縱物件【String】 遙控器(引用)- 電視機(資料)建立String引用,如果向無物件的引用傳送資訊會返回一個執行時錯誤,所以安全的做法是:建立一個引用的同時便進行初始化Stri

[C++]排序模板C++模板程式碼

排序模板 一、插入排序 特點:stable sort、In-place sort 最優複雜度:當輸入陣列就是排好序的時候,複雜度為O(n),而快速排序在這種情況下會產生O(n^2)的複雜度。 最差複雜度:當輸入陣列為倒序時,複雜度為O(n^2) 插入排

百度雲訊息推送Java服務開發

註冊成為百度開發者 建立/配置應用(有Android 和 iOS 平臺) 1)獲取 ApiKey/SecretKey ApiKey是應用標識,在SDK呼叫過程中唯一標識一個應用 SecretKey是呼叫API時的Token,用來驗證請求的合法性,請注意保

自己寫 localtime 函式完整註釋,程式碼

自己寫 localtime 函式(含完整註釋,程式碼) //對時間轉換有興趣的可以看看。//曾在某平臺下多執行緒中使用localtime庫函式。可惡的是,每當程式執行//一段時間後,都要出現記憶體洩露。查了數個夜晚為什麼,無從斷定。//只能狠狠心,自己寫了個localtime

如何讓C#編譯不安全程式碼unsafe的程式碼

背景:有關鍵字unsafe,其程式碼在vs編譯環境中會報錯。報錯資訊:“不安全程式碼只會在使用/unsafe編譯的情況下出現” 解決方案: 1、vs選單“專案”中找到“(解決方案名稱)屬性”項,單擊進入專案屬性設定介面; 2、在專案屬性介面中找到“生成”選項卡 3、在“生成

微信小程式-微信支付詳細介紹Thinkphp後程式碼

流程 如微信支付的文件,不再多說 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=3 一一分析一下每一步我們具體要做什麼: 1、小程式內呼叫登入介面,獲取到使用者的o

微信小程式上傳圖片功能附後程式碼

幾乎每個程式都需要用到圖片,在小程式中我們可以通過image元件顯示圖片。 當然小程式也是可以上傳圖片的,微信小程式文件也寫的很清楚。 上傳圖片 首先選擇圖片 通過wx.chooseImage(OBJECT)實現 官方示例程式碼 ? 1 2

Ajax幾個簡單的案例ajax_使用者唯一驗證、ajax_返回xml資料的處理包括分頁處理

Ajax幾個簡單的案例(ajax_使用者唯一驗證、ajax_返回xml資料的處理(包括分頁處理) 當然開發的前提是把相應的包匯入專案中(開發環境myeclipse) ajax_使用者唯一驗證(servlet): 如圖在myeclipse中的ajax_servlet專案中的index.jsp實現頁面的顯

使用jQuery傳送POST,Ajax請求返回JSON格式資料

問題:使用jQuery POST提交資料到PHP檔案, PHP返回的json_encode後的陣列資料,但jQuery接收到的資料不能解析為JSON物件,而是字串{"code":-1,"msg":"12

Java 通過httpClient Post方式提交xml,並從服務返回資料

在通過http請求連線服務端程式時,有兩種方式httpClient這個不是標準的java庫,但是是開源專案,能夠快捷的開發,但如果做Android的開發,推薦使用httpUrlConnect這個工具。但是httpClient確實也是一個比較好用的工具。 這裡面

ajax post請求返回json資料後,頁面不需要重新整理的問題解決如例

<form> <input name="a" type="text" /> <input name="b" type="text" /> <input id="sub" type="button" value="提交" class