然后我們定義一個頁面:
這個頁面的關(guān)鍵之處在于兩段<script>,第一段是引入了客戶端的回調(diào)函數(shù)(上面我們定義的那段),從而這個函數(shù)被頁面可視,精華在于第二段,它用src標簽指向了服務(wù)器端(http://localhost:8080域上)能提供JSONP 字符串對象的url(對應(yīng)上面我們寫的那個servlet),而且吧回調(diào)函數(shù)的名字當做參數(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>這個頁面用于演示JSONP</title><base>
<!--這里引入了javascript文件,js函數(shù)有2個,一個是回調(diào)函數(shù),它的函數(shù)名將作為參數(shù)傳遞給服務(wù)器端,
另外一個是負責向服務(wù)端用src的方式請求jsonp -->
<!-- 這里引入的js文件中定義了回調(diào)函數(shù),這個函數(shù)的函數(shù)名將作為參數(shù)傳遞到服務(wù)器端,它終會操作服務(wù)器端的資源 -->
<script type="text/javascript" src="js/callbackFuncDef.js"></script>
<!-- 這里是jsonp的使用,它以src的方式向服務(wù)器端發(fā)送一個jsonp請求,并且把這邊定義好的處理函數(shù)的函數(shù)名以參數(shù)形式傳遞 -->
<script type="text/javascript" src="http://localhost:8080/JSONPServerSide/JSONPServlet?callbackFunc=clientMethodWhichOperateServerResource"></script>
</head>
<body>
<p>這個JSONP的例子的要點是,它用定義在客戶端的一段js代碼,去處理服務(wù)器上的json資源</p>
</body>
</html>