jQueryAjax++servlet+json實現頁面載入時從後臺讀取資料
阿新 • • 發佈:2018-11-05
在eclipse中新建一個專案,我起名為Demo
新建一個html檔案,在其中引入外部jQuery和自定義的js檔案
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript" src="js.js"></script>
<title>Insert title here< /title>
</head>
<body>
</body>
</html>
新建一個servlet,使用doPost()方法,在其中手動寫一個json字串,並將傳輸檔案型別設定為json,傳輸字元編碼設定為utf-8,將瀏覽器解析方式設定為utf-8
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String jsonStr="{\"dataStr\":\"我是json!\"}" ;//雙引號之前的\代表將後面的雙引號轉義,不會使它和前面的雙引號匹配
response.setContentType("application/json;charset=utf-8");
response.setCharacterEncoding("utf-8");//設定瀏覽器按utf-8格式解析
response.getWriter().write(jsonStr);//傳送響應
}
在自定義的js中寫拿回後臺資料之後的邏輯,這裡為了簡單,直接在網頁上彈出提示框像是資料
$(document).ready(function()
{
$.ajax({
type: "post",
url:"http://localhost:8080/Demo/DemoSer",
async:true,
data:{},
success:function(data)//成功取回資料之後的回撥函式
{
alert("傳回的資料是:"+data.dataStr);
},
error:function()//沒能取回資料之後的回撥函式
{
alert("請求失敗!");
}
});
});
部署專案,啟動伺服器,開啟網頁: