Coding AJAX

Here’s a JQuery code example for calling resoa services using the auto-generated API’s:

// Defining namespaces
if (!org) org = {}; if (!org.resoa) org.resoa = {};
// Helper function for AJAX calls
org.resoa.getAJAXOptions = function (successHandler, errorHandler) {
	var options = {
		contentType : "application/json; charset=utf-8",
		dataType : "json", //service invocation is based on JSON
		url : "/service", //the URL of the resoa service domain 
		cache : false,
		type : "POST",
		complete : successHandler, //the success function
		error : errorHandler //the error function
	};
	return options;
};
 //we instance request object, using the auto-generated Javascript library	 
 var student = new org.resoa.test.xsd.Student(); 
 //setting request values	 
 student.setName("Jon");
 //set data to JSON representation of request object, call the Java service method 'exists'
 ajaxOptions.data = student.toJson("store"); 
//we call in synchronized way
 ajaxOptions.async = false;
 //performing the AJAX request
 var xmlReq = $.ajax(ajaxOptions);
 //examining the result, which is the JSON representation of the Java response object
 if (org.resoa.test.xsd.Message.prototype.instanceOf(xmlReq.responseText)){
	 //creating Javascript Message object out of response JSON 
 	var msg = new org.resoa.test.xsd.Message(xmlReq.responseText);
	//continue with business logic by examining the response...	
}

Next an example for working with HTML forms:


<form name="editStudent" id="formedit" method="post" >
	<input type="text" name="Student_name" />
	<input type="text" name="User_name" />
	<input type="text" name="User_userid" />
	<input type="submit" value="Update" />
</form>

Here’s the javascript code for working with the form

//we request student data (wrapped by a function)
var student = org.resoa.test.requestStudent("Jon");
// select the HTML form, result is an array.
var formhandle = $("#formedit");
// fill the HTML form fields with object instance values
student.fillForm(formhandle[0]);
student.getUser()fillForm(formhandle[0]);

// the other way round, create a new object out of HTML form data
var newuser = new org.resoa.test.xsd.sub.User();
// we fill from Form
newuser.fromForm(formhandle[0]);
student.setUser(newuser);