* I sent this message previously from the wrong address so it didn't go
through so, I apologize in advance if a duplicate shows up *

Hello, I am very new to script.aculo.us and prototype but was trying to
implement some of the cool ajax functionality with Webwork.

I have been having a little trouble with the sortable element demo.  I have
the following code below:

<html>
        <head>
                <script src="/test/prototype.js"></script>
                <script src="/test/scriptaculous.js"></script>
                <script src="/test/effects.js"></script>
                <script src="/test/dragdrop.js"></script>
                <script src="/test/controls.js"></script>
        </head>
        <body>
<style type="text/css" media="screen">
    #list {
      margin:0;
      margin-top:10px;
      padding:0;
      list-style-type: none;
      width:250px;
    }
    #list li {
      margin:0;
      margin-bottom:4px;
      padding:5px;
      border:1px solid #888;
      cursor:move;
    }
  </style>

<ul id="list" style="padding: 2px">
        <li id="item_1">one</li>
        <li id="item_2">two</li>
        <li id="item_3">three</li>
        <li id="item_4">four</li>
        <li id="item_5">five</li>
        <li id="item_6">six</li>
        <li id="item_7">seven</li>
</ul>
<p id="list-info"></p>

<script type="text/javascript">

        Sortable.create('list', {
                onUpdate:function(){
                        new Ajax.Updater('list-info',
'http://demo.script.aculo.us/ajax/order', {
                                onComplete:function(request){
                                        new Effect.Highlight('list',{});
                                },
                                parameters:Sortable.serialize('list'),
                                evalScripts:true,
                                asynchronous:true})}});
</script>
        </body>
</html>

Now, this works great on both Firefox and IE.  But, if I replace the URL to
http://localhost:8080/test/ajax/order.action , it no longer works in IE.  I
have done a little test to see the difference of the 2 URLs and this is what
I see:

'http://demo.script.aculo.us/ajax/order' (the one that works on IE and
Firefox)
Headers
-------
Connection: [Keep-Alive]
Set-Cookie: [_session_id=ea173010d428691910201c65d7018760; path=/]
null: [HTTP/1.1 200 OK]
Date: [Tue, 14 Feb 2006 05:07:59 GMT]
Keep-Alive: [timeout=15, max=100]
Server: [Apache/2.0.52 (Gentoo/Linux) mod_fastcgi/2.4.2 mod_ssl/2.0.52
OpenSSL/0.9.7e DAV/2 SVN/1.1.3 PHP/4.3.10]
Content-Type: [text/html]
Transfer-Encoding: [chunked]
Cache-Control: [no-cache]

Content
------------
Updated order is: 1, 3, 2.


'http://localhost:8080/test/ajax/order.action' (the one that only works on
Firefox)
Headers
-------
X-Powered-By: [Servlet 2.4; JBoss-4.0.3RC2 (build: CVSTag=Branch_4_0
date=200508131404)/Tomcat-5.5]
null: [HTTP/1.1 200 OK]
Date: [Tue, 14 Feb 2006 04:15:16 GMT]
Server: [Apache-Coyote/1.1]
Content-Type: [text/html;charset=Cp1252]
Transfer-Encoding: [chunked]

Content
------------
The ordering has been updated



After doing some research, it looks like this is the problem (although I
have no idea why...)

Below is a snippet from prototype.js...

...
Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype),
{
  initialize: function(container, url, options) {
    this.containers = {
      success: container.success ? $(container.success) : $(container),
      failure: container.failure ? $(container.failure) :
        (container.success ? null : $(container))
    }

    this.transport = Ajax.getTransport();
    this.setOptions(options);

    var onComplete = this.options.onComplete || Prototype.emptyFunction;
    this.options.onComplete = (function(transport, object) {
      this.updateContent();
      onComplete(transport, object);
    }).bind(this);

    this.request(url);
  },

  updateContent: function() {
    var receiver = this.responseIsSuccess() ?
      this.containers.success : this.containers.failure;
    alert("test 1");  // this will execute
    var response = this.transport.responseText;  // for whatever reason, the
script dies at this point
    alert("test 2")  // this will not execute
    if (!this.options.evalScripts)
      response = response.stripScripts();

    if (receiver) {
      if (this.options.insertion) {
        new this.options.insertion(receiver, response);
      } else {
        Element.update(receiver, response);
      }
    }

    if (this.responseIsSuccess()) {
      if (this.onComplete)
        setTimeout(this.onComplete.bind(this), 10);
    }
  }
});
...


I have done everything I can think of to try to understand what the problem
is but I am hoping that, given all the information I have been able to
retrieve, one of the more advanced developers will be able to help me.
Thank you very much for your time.

Joe Hudson

<<attachment: winmail.dat>>

_______________________________________________
Rails-spinoffs mailing list
Rails-spinoffs@lists.rubyonrails.org
http://lists.rubyonrails.org/mailman/listinfo/rails-spinoffs

Reply via email to