Tuesday, November 11, 2008

MooTools ASP.NET Webservice Ajax calls.

I had some trouble trying to find an example of how to call an ASP.NET webservice from MooTools. I eventually pieced the bits together from a couple of forum posts and thought I'd post an example here in case anyone else was having the same problems.

If I have an ASP.NET webservice that has a GetById method that takes a single int parameter and returns an object I can call it with the following code:

function doAjaxWebServiceRequest (id) {
var completeDelegate = Function.createDelegate(this, this.callback);
var failureDelegate = Function.createDelegate(this, this.error);
var request = new Request.JSON({url: 'http://hostname/MyWebService.asmx/GetById',
onComplete: completeDelegate,
onFailure: failureDelegate,
urlEncoded: false,
headers: {"Content-type": "application/json"}
request.send(JSON.encode({'id': id}));
The returned object will be in JSON format. The lines where I create my callback delegates using the Function.createDelegate method allow me to set the scope of 'this' in my call backs to be the object I making the request from.

Hope that helps someone out!

Labels: , , , ,


Post a Comment

<< Home