
In this example I have used a very simple Servlet and a simple HTML page to demonstrate the client server model.
Servlet code :
package controller; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class DataService */ @WebServlet("/DataService") public class DataService extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public DataService() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter pw=response.getWriter(); String id=request.getParameter("userId"); if(id==null){ pw.print("Please enter your ID"); }else { pw.print("I got it! " + id); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }
HTML Page with Dojo code :
<!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=ISO-8859-1"> <title>Dojo Experiments</title> <script type="text/javascript" src="dojoall/dojo/dojo.js"> </script> </head> <body> Your Text <input type="text" id="textbox1" /> <br/> <input type="button" id="mybutton2" onclick="doAjax()" value="Do AJAX!"/> <div id="myDivContent"> Your content goes here </div> <script type="text/javascript"> function doAjax(){ //require(["dojo/_base/xhr", "dojo/dom", "dojo/domReady!"]); console.log("Button Clicked!"); var textBox = dojo.byId("textbox1"); var divContent=dojo.byId("myDivContent"); var xhrArgs = { // resource url url : "DataService", //handle type handleAs : "text", //append new parameter to the each, this will avoid browser cache preventCache: true, // 5 seconds of timeout timeout : 5000, // Send the username to check base on an INPUT node's value content : { userId : textBox.value }, load : function (data){ divContent.innerHTML=data; }, error : function (error){ divContent.innerHTML="AJAX failure!"; } } dojo.xhrGet(xhrArgs); } </script> </body> </html>
Dojo code :
<script type="text/javascript"> function doAjax(){ //require(["dojo/_base/xhr", "dojo/dom", "dojo/domReady!"]); console.log("Button Clicked!"); var textBox = dojo.byId("textbox1"); var divContent=dojo.byId("myDivContent"); var xhrArgs = { // resource url url : "DataService", //handle type handleAs : "text", //append new parameter to the each, this will avoid browser cache preventCache: true, // 5 seconds of timeout timeout : 5000, // Send the username to check base on an INPUT node's value content : { userId : textBox.value }, load : function (data){ divContent.innerHTML=data; }, error : function (error){ divContent.innerHTML="AJAX failure!"; } } dojo.xhrGet(xhrArgs); } </script>Output :
Above example demonstrates a Ajax request with type of GET same way we can make Ajax request as post requests by using dojo.xhrPost
Note : It is not allowed to make cross domain requests in this way.
References [ http://dojotoolkit.org/reference-guide/1.7/dojo/xhrGet.html ]
0 comments:
Post a Comment