Calling server site script from Javascript using ATLAS

S

s.bussing

Hi All,

I'm new to Atlas and I did some programming using AJAX, but I'm
wondering if it is possible to hava a javascript which can call a
server-site function, in my case to write data to the cache, using
AJAX. So I'm not looking for a possibility to wrap-up controls, but
just to call server-site code from ATLAS.

I know this can be done using AJAX, so in my opinion this should also
be possible using ATLAS, or can ATLAS just be used to wrap up controls?

Thx for replies.
 
S

s.bussing

Hi Steve,

thanks for the reply, but is developing a webservice for such a small
function not a little overkill. Of course I can combine AJAX and ATLAS.
Just a simple function for writing to the cache using an AJAX dll and
for controls use ATLAS.




Steve C. Orr [MVP, MCSD] schreef:
 
L

Laurent Bugnion

Hi,

Hi Steve,

thanks for the reply, but is developing a webservice for such a small
function not a little overkill. Of course I can combine AJAX and ATLAS.
Just a simple function for writing to the cache using an AJAX dll and
for controls use ATLAS.

The simplest implementation of AJAX in .NET is using ASHX Custom
HttpHandlers. It's very simple: In your web site or web application
project, Add New Item / Generic handler.

Then, in the code behind, implement the methods (Studio 2005 gives you a
template).

From the client, use JavaScript and XmlHttpRequest to send the request
and read the response. There are many tutorial online.

Example for a simple asynchronous request:

var oHttp = null;
if ( window.XMLHttpRequest )
{
oHttp = new window.XMLHttpRequest();
}
else
{
if ( window.ActiveXObject )
{
oHttp = new window.ActiveXObject( "Microsoft.XMLHTTP" );
}
else
{
throw "UNSUPPORTED PLATFORM";
}
}
if ( !oHttp )
{
throw "Cannot create XmlHttpRequest";
}

var strQuery = "?param1=value1&param2=value2";
oHttp.open( "GET",
"myHandler.ashx" + strQuery,
true ); // true = async, false = sync

oHttp.onreadystatechange = function()
{
if ( oHttp.readyState == 4 )
{
oHttp = null;
fnCallback( oHttp );
}
}

oHttp.send( null );

Code behind:

In ProcessRequest, use the "context" parameter to extract the
QueryString, and then you can process according to the parameters.

For the Response, if you want to send XML code back, make sure to set
context.Response.ContentType = "text/xml; charset=utf-8";

To save an XML document to the response, use
docResponse.Save(
new XmlTextWriter( context.Response.OutputStream,
context.Request.ContentEncoding ) );


In the JavaScript, the XML code will be available in oHttp.responseXML.
The response is also available in plain text in oHttp.responseText. Also
check the oHttp.status, which contains status like 200 (OK), 500 (Server
error), etc...

HTH,
Laurent
 
S

s.bussing

Hi Laurent,

thx for the reply. I read some article on the Inet. I was thinking in
the same direction. User ATLAS for the teriffic controls and an AJAX
lib (or CallbackEventHandler but this is limited for IE) for the other
stuff.

Again, thanks guys.




Laurent Bugnion schreef:
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top