Calling server site script from Javascript using ATLAS

Discussion in 'ASP .Net' started by s.bussing@symax.nl, Sep 23, 2006.

  1. Guest

    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.
     
    , Sep 23, 2006
    #1
    1. Advertising

  2. Yes, this can certainly be done using Atlas.
    Atlas can call web services that you write via AJAX.

    Here are the details:
    http://atlas.asp.net/docs/atlas/doc/services/consuming.aspx

    --
    I hope this helps,
    Steve C. Orr
    MCSD, MVP, CSM
    http://SteveOrr.net


    <> wrote in message
    news:...
    > 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.
    >
     
    Steve C. Orr [MVP, MCSD], Sep 24, 2006
    #2
    1. Advertising

  3. Guest

    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:

    > Yes, this can certainly be done using Atlas.
    > Atlas can call web services that you write via AJAX.
    >
    > Here are the details:
    > http://atlas.asp.net/docs/atlas/doc/services/consuming.aspx
    >
    > --
    > I hope this helps,
    > Steve C. Orr
    > MCSD, MVP, CSM
    > http://SteveOrr.net
    >
    >
    > <> wrote in message
    > news:...
    > > 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.
    > >
     
    , Sep 24, 2006
    #3
  4. Hi,

    wrote:
    > 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
    --
    Laurent Bugnion, GalaSoft
    Software engineering: http://www.galasoft-LB.ch
    PhotoAlbum: http://www.galasoft-LB.ch/pictures
    Support children in Calcutta: http://www.calcutta-espoir.ch
     
    Laurent Bugnion, Sep 24, 2006
    #4
  5. Guest

    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:

    > Hi,
    >
    > wrote:
    > > 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
    > --
    > Laurent Bugnion, GalaSoft
    > Software engineering: http://www.galasoft-LB.ch
    > PhotoAlbum: http://www.galasoft-LB.ch/pictures
    > Support children in Calcutta: http://www.calcutta-espoir.ch
     
    , Sep 25, 2006
    #5
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vincent Courcelle
    Replies:
    0
    Views:
    429
    Vincent Courcelle
    May 25, 2006
  2. sonic
    Replies:
    0
    Views:
    394
    sonic
    Aug 24, 2006
  3. Replies:
    0
    Views:
    316
  4. Daniel
    Replies:
    0
    Views:
    527
    Daniel
    Sep 14, 2006
  5. pj
    Replies:
    3
    Views:
    322
Loading...

Share This Page