然后我們定義一個(gè)頁面:
這個(gè)頁面的關(guān)鍵之處在于兩段<script>,第一段是引入了客戶端的回調(diào)函數(shù)(上面我們定義的那段),從而這個(gè)函數(shù)被頁面可視,精華在于第二段,它用src標(biāo)簽指向了服務(wù)器端(http://localhost:8080域上)能提供JSONP 字符串對象的url(對應(yīng)上面我們寫的那個(gè)servlet),而且吧回調(diào)函數(shù)的名字當(dāng)做參數(shù)傳遞過去(像我們用于測試服務(wù)器端的訪問示例一樣):
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>這個(gè)頁面用于演示JSONP</title><base>
<!--這里引入了javascript文件,js函數(shù)有2個(gè),一個(gè)是回調(diào)函數(shù),它的函數(shù)名將作為參數(shù)傳遞給服務(wù)器端,
另外一個(gè)是負(fù)責(zé)向服務(wù)端用src的方式請求jsonp -->
<!-- 這里引入的js文件中定義了回調(diào)函數(shù),這個(gè)函數(shù)的函數(shù)名將作為參數(shù)傳遞到服務(wù)器端,它終會(huì)操作服務(wù)器端的資源 -->
<script type="text/javascript" src="js/callbackFuncDef.js"></script>
<!-- 這里是jsonp的使用,它以src的方式向服務(wù)器端發(fā)送一個(gè)jsonp請求,并且把這邊定義好的處理函數(shù)的函數(shù)名以參數(shù)形式傳遞 -->
<script type="text/javascript" src="http://localhost:8080/JSONPServerSide/JSONPServlet?callbackFunc=clientMethodWhichOperateServerResource"></script>
</head>
<body>
<p>這個(gè)JSONP的例子的要點(diǎn)是,它用定義在客戶端的一段js代碼,去處理服務(wù)器上的json資源</p>
</body>
</html>