(1) jQueryのget()メソッドの使い方やパラメーターについて
(1-1) get()メソッドの概要
(1-2) get()メソッドのサンプルプログラム
(1) jQueryのget()メソッドの使い方やパラメーターについて
(1-1) get()メソッドの概要
jQueryのget()メソッドはHTTPのGETリクエストを用いて、サーバ(の指定したURL)からのデータを取得するために使われます。
■構文
jQuery.get(①url[,②data][,③success][,④dataType])
また「jQuery」の部分は省略して「$」と記述できるので、以下も同じ意味になります(以降は「$.get」の形式で書いていきます)。
$.get(①url[,②data][,③success][,④dataType])
加えて、「$.get」は「$.ajax」の省略形でもあり、つまり「非同期」(サーバの応答を待たずにクライアント操作可能=非同期)の処理であるという事になります。
$.ajax({ url: url, data: data, success: success, dataType: dataType });
それぞれの引数①~④の意味は次の通りです。
■引数の説明
'GetUserServlet'
{[要素のid属性] : [何かの値(JavaScriptの変数とか)]}
$.get("sample.asp");
$.get("sample.asp", { name:"MyName", address:"Tokyo" }); $.get("sample.asp", { 'fruits', ["Apple","Banana","Cherry"] });
④dataType:String
サーバから返却されるデータの型を指定します。指定ない場合は(xml, json, script, text, html)の中から推定します。
(1-2) get()メソッドのサンプルプログラム
・get()メソッドのコールバック関数を利用して、Servletの処理結果(挨拶)を画面(JSP)に表示
■JSP
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>jQuery Get method example</title> <%--1つ目のscript:jQueryのライブラリを読み込み--%> <script src="https://code.jquery.com/jquery-1.10.2.js" type="text/javascript"></script> <%--2つ目のscript:getメソッドを使って挨拶を表示するjsの読み込み--%> <script src="js/IT0293_jQuery_Get.js" type="text/javascript"></script> </head> <body> <form> お名前を入力してください:<input type="text" id="u_name" /> <input type="button" value="入力完了" onClick="IT0293_greeting()"> </form> <br> <br> <strong>Servlet Response</strong>: <%-- ボタンを押すと、ここに挨拶が表示されます --%> <div id="GetServletResponse"></div> </body> </html>
(図122)
■JavaScript
本記事のメインテーマであるjQueryのgetメソッドを含むJavaScriptです。
function IT0293_greeting() { /* 画面に入力された名前を取得 */ var name = $('#u_name').val(); /* getでサーブレット「IT0293_get」を呼び出し、名前を渡して挨拶を画面に表示 */ $.get('IT0293_get' ,{u_name : name} , function(responseText) { $('#GetServletResponse').text(responseText); } ); }
(図123)
■Servlet
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/IT0293_get") public class IT0293_jQuery_Get extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //名前の入力が無い場合は「Guest User」にする String name = request.getParameter("u_name").trim(); if(name == null || name.equals("")){ name = "Guest User"; } //挨拶文の作成 String sayhello = "Have a nice day " + name; //レスポンスに挨拶文を書き込み response.setContentType("text/html"); response.getWriter().write(sayhello); } }