  
<div id="snippet_204" class="snippet">
  <h2><a href="/snippets/204-How-to-display-an-animated-icon-during-Ajax-request-processing" title="How to display an animated icon during Ajax request processing - JavaScript - ajax, jquery, indicator, loading">How to display an animated icon during Ajax request processing</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/61-JavaScript">
      JavaScript</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>This example uses the jQuery JavaScript library.</p>


	<p>First, create an Ajax icon using the <a href="http://www.ajaxload.info/">AjaxLoad site</a>.</p>


	<p>Then add the following to your  HTML :
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">&lt;</span>img src<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>/images/loading.gif<span class="String">&quot;</span></span> id<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>loading-indicator<span class="String">&quot;</span></span> style<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>display:none<span class="String">&quot;</span></span> /<span class="Operator">&gt;</span>
</pre></p>


	<p>And the following to your  CSS  file:
<pre class="active4d"><span class="line-numbers">   1 </span> #loading<span class="Operator">-</span>indicator {
<span class="line-numbers">   2 </span>   position: absolute;
<span class="line-numbers">   3 </span>   left: 10px;
<span class="line-numbers">   4 </span>   top: 10px;
<span class="line-numbers">   5 </span> }
</pre></p>


	<p>Lastly, you need to hook into the <a href="http://docs.jquery.com/Ajax_Events">Ajax events</a> that jQuery provides; one event handler for when the Ajax request begins, and one for when it ends:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">$</span>(<span class="LibraryClassType">document</span>).ajaxSend(<span class="Storage">function</span>(<span class="LibraryClassType">event</span>, request, settings) {
<span class="line-numbers">   2 </span>   <span class="Operator">$</span>(<span class="String"><span class="String">'</span>#loading-indicator<span class="String">'</span></span>).show();
<span class="line-numbers">   3 </span> });
<span class="line-numbers">   4 </span> 
<span class="line-numbers">   5 </span> <span class="Operator">$</span>(<span class="LibraryClassType">document</span>).ajaxComplete(<span class="Storage">function</span>(<span class="LibraryClassType">event</span>, request, settings) {
<span class="line-numbers">   6 </span>   <span class="Operator">$</span>(<span class="String"><span class="String">'</span>#loading-indicator<span class="String">'</span></span>).hide();
<span class="line-numbers">   7 </span> });
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/213-ajax">ajax</a>, <a href="/tags/355-jquery">jquery</a>, <a href="/tags/478-indicator">indicator</a>, <a href="/tags/479-loading">loading</a>
    
    
  </div>
</div>



  
<div id="snippet_202" class="snippet">
  <h2><a href="/snippets/202-Showing-ActiveRecord-error-messages-from-jQuery-Ajax-actions-and-scripts" title="Showing ActiveRecord error messages from jQuery Ajax actions and scripts - HTML (Rails) - ajax, error, jquery, rails">Showing ActiveRecord error messages from jQuery Ajax actions and scripts</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/52-HTML-Rails-">
      HTML (Rails)</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>The  HTML , in a layout file, for example application.html.erb:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="TagContainer"><span class="TagContainer">&lt;</span><span class="TagName">div</span> <span class="TagContainer"><span class="TagAttribute">id</span><span class="TagContainer">=</span><span class="String"><span class="String">&quot;</span><span class="String">error-message</span><span class="String">&quot;</span></span></span> <span class="TagAttribute">style</span>=<span class="String"><span class="String">&quot;</span>display:none<span class="String">&quot;</span></span><span class="TagContainer">&gt;</span></span>
<span class="line-numbers">   2 </span> <span class="TagContainer"><span class="TagContainer">&lt;/</span><span class="TagName">div</span><span class="TagContainer">&gt;</span></span>
</pre></p>


	<p>The JavaScript, rendered by for example create.js.erb:
<pre class="active4d"><span class="line-numbers">   1 </span> &lt;% <span class="Keyword">if</span> <span class="Operator">!</span><span class="Variable"><span class="Variable">@</span>category</span>.<span class="FunctionName">valid?</span> %&gt;
<span class="line-numbers">   2 </span> &lt;%
<span class="line-numbers">   3 </span>   errors <span class="String"><span class="String">= &lt;&lt;ERR</span></span>
<span class="line-numbers">   4 </span> <span class="String">  &lt;p&gt;Please fix the following errors:&lt;/p&gt;</span>
<span class="line-numbers">   5 </span> <span class="String">  &lt;ul&gt;</span>
<span class="line-numbers">   6 </span> <span class="String">    <span class="String"><span class="String">#{</span><span class="Variable"><span class="Variable">@</span>category</span><span class="String"><span class="String">.</span><span class="FunctionName">errors</span></span><span class="String"><span class="String">.</span><span class="FunctionName">collect</span></span><span class="String">{</span><span class="String">|</span><span class="Variable">err</span><span class="String">|</span> <span class="String"><span class="String">&quot;</span>&lt;li&gt;<span class="String">&quot;</span></span> <span class="Operator">+</span> err<span class="String">[</span><span class="Number">0</span><span class="String">]</span> <span class="Operator">+</span> <span class="String"><span class="String">&quot;</span> <span class="String">&quot;</span></span> <span class="Operator">+</span> err<span class="String">[</span><span class="Number">1</span><span class="String">]</span> <span class="Operator">+</span> <span class="String"><span class="String">&quot;</span>&lt;/li&gt;<span class="String">&quot;</span></span> <span class="String">}</span> <span class="String">}</span></span></span>
<span class="line-numbers">   7 </span> <span class="String">  &lt;/ul&gt;</span>
<span class="line-numbers">   8 </span> <span class="String"><span class="String">ERR</span></span>
<span class="line-numbers">   9 </span> %&gt;
<span class="line-numbers">  10 </span> $('#error-message').html('&lt;%= <span class="FunctionName">escape_javascript</span>(errors) %&gt;');
<span class="line-numbers">  11 </span> $('#error-message').show();
<span class="line-numbers">  12 </span> &lt;% <span class="Keyword">else</span> %&gt;
<span class="line-numbers">  13 </span> $('#error-message').hide();
<span class="line-numbers">  14 </span> &lt;% <span class="Keyword">end</span> %&gt;
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/213-ajax">ajax</a>, <a href="/tags/476-error">error</a>, <a href="/tags/355-jquery">jquery</a>, <a href="/tags/9-rails">rails</a>
    
    
  </div>
</div>



  
<div id="snippet_201" class="snippet">
  <h2><a href="/snippets/201-How-to-use-jQuery-with-Rails-2-0-aka-How-to-fix-ActionController-InvalidAuthenticityToken-ActionController-InvalidAuthenticityToken-" title="How to use jQuery with Rails 2.0 - aka How to fix &quot;ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken)&quot; - Ruby - authenticity, rails, rails 2, token, jquery, javascript, ajax">How to use jQuery with Rails 2.0 - aka How to fix "ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken)"</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>This is a slight variation of <a href="http://henrik.nyh.se/2008/05/rails-authenticity-token-with-jquery">Henrik Nyh&#8217;s code</a>, which fixes an issue with IE6 that makes all Ajax requests use <span class="caps">POST</span> in IE6.</p>
<p>In application.html.erb, or whatever layout file you&#8217;re using, put:<br />
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">&lt;</span><span class="Operator">%=</span> javascript_tag <span class="String"><span class="String">&quot;</span>window.AUTH_TOKEN = '<span class="String"><span class="String">#{</span>form_authenticity_token<span class="String">}</span></span>';<span class="String">&quot;</span></span> <span class="String"><span class="String">%&gt;</span></span>
</pre></p>
<p>In application.js, or whatever JavaScript file you&#8217;re using, put:<br />
<pre class="active4d"><span class="line-numbers">   1 </span> $(document).<span class="FunctionName">ajaxSend</span>(<span class="FunctionName">function</span>(event, request, settings) {
<span class="line-numbers">   2 </span>   <span class="Keyword">if</span> (<span class="FunctionName">typeof</span>(window.<span class="FunctionName">AUTH_TOKEN</span>) <span class="Operator">==</span> <span class="String"><span class="String">&quot;</span>undefined<span class="String">&quot;</span></span>) <span class="Keyword">return</span>;
<span class="line-numbers">   3 </span>   <span class="String"><span class="String">/</span></span><span class="String"></span><span class="String"><span class="String">/</span></span> <span class="Variable">IE6</span> fix <span class="Keyword">for</span> http<span class="UserDefinedConstant"><span class="UserDefinedConstant">:</span>/</span><span class="Operator">/</span>dev.<span class="FunctionName">jquery</span>.<span class="FunctionName">com</span><span class="Operator">/</span>ticket<span class="Operator">/</span><span class="Number">3155</span>
<span class="line-numbers">   4 </span>   <span class="Keyword">if</span> (settings.<span class="FunctionName">type</span> <span class="Operator">==</span> <span class="String"><span class="String">'</span>GET<span class="String">'</span></span> <span class="Operator">||</span> settings.<span class="FunctionName">type</span> <span class="Operator">==</span> <span class="String"><span class="String">'</span>get<span class="String">'</span></span>) <span class="Keyword">return</span>;
<span class="line-numbers">   5 </span> 
<span class="line-numbers">   6 </span>   settings.<span class="FunctionName">data</span> <span class="Operator">=</span> settings.<span class="FunctionName">data</span> <span class="Operator">||</span> <span class="String"><span class="String">&quot;</span><span class="String">&quot;</span></span>;
<span class="line-numbers">   7 </span>   settings.<span class="FunctionName">data</span> <span class="Operator">+=</span> (settings.<span class="FunctionName">data</span> <span class="Operator">?</span> <span class="String"><span class="String">&quot;</span>&amp;<span class="String">&quot;</span></span> : <span class="String"><span class="String">&quot;</span><span class="String">&quot;</span></span>) <span class="Operator">+</span> <span class="String"><span class="String">&quot;</span>authenticity_token=<span class="String">&quot;</span></span> <span class="Operator">+</span> <span class="FunctionName">encodeURIComponent</span>(window.<span class="FunctionName">AUTH_TOKEN</span>);
<span class="line-numbers">   8 </span> });
</pre></p>
<p>That&#8217;s all&#8230;</p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/471-authenticity">authenticity</a>, <a href="/tags/9-rails">rails</a>, <a href="/tags/475-rails-2">rails 2</a>, <a href="/tags/472-token">token</a>, <a href="/tags/355-jquery">jquery</a>, <a href="/tags/10-javascript">javascript</a>, <a href="/tags/213-ajax">ajax</a>
    
    
  </div>
</div>



  
<div id="snippet_89" class="snippet">
  <h2><a href="/snippets/89-Solving-Internet-Explorer-cannot-open-the-Internet-site-http-xyz-com-Operation-aborted-" title="Solving &quot;Internet Explorer cannot open the Internet site http://xyz.com. Operation aborted.&quot; - JavaScript - ie6, ie7, bug, ajax, prototype, scriptaculous">Solving "Internet Explorer cannot open the Internet site http://xyz.com. Operation aborted."</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/61-JavaScript">
      JavaScript</a> posted over 2 years ago by christian
          
  </div>

  <div class="body">
    <p>This bug exists in  IE6  and  IE7  and is caused by a JavaScript that tries to modify a tag that hasn&#8217;t been closed (yet).</p>


	<p>For example this one:
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">&lt;</span>div id<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>x<span class="String">&quot;</span></span><span class="Operator">&gt;</span>
<span class="line-numbers">   2 </span>   <span class="Operator">&lt;</span>script type<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>text/javascript<span class="String">&quot;</span></span><span class="Operator">&gt;</span>
<span class="line-numbers">   3 </span>   <span class="Operator">$</span>(<span class="String"><span class="String">'</span>x<span class="String">'</span></span>).<span class="CommandMethod">replace</span>(<span class="String"><span class="String">&quot;</span>wrong<span class="String">&quot;</span></span>);
<span class="line-numbers">   4 </span>   <span class="Operator">&lt;</span>/script<span class="Operator">&gt;</span>
<span class="line-numbers">   5 </span> <span class="Operator">&lt;</span>/div<span class="Operator">&gt;</span>
</pre></p>


	<p>This example fixes the problem, because the script is defined after the tag that it tries to modify:</p>


	<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">&lt;</span>div id<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>x<span class="String">&quot;</span></span><span class="Operator">&gt;</span>
<span class="line-numbers">   2 </span> <span class="Operator">&lt;</span>/div<span class="Operator">&gt;</span>
<span class="line-numbers">   3 </span> <span class="Operator">&lt;</span>script type<span class="Operator">=</span><span class="String"><span class="String">&quot;</span>text/javascript<span class="String">&quot;</span></span><span class="Operator">&gt;</span>
<span class="line-numbers">   4 </span>   <span class="Operator">$</span>(<span class="String"><span class="String">'</span>x<span class="String">'</span></span>).<span class="CommandMethod">replace</span>(<span class="String"><span class="String">&quot;</span>correct<span class="String">&quot;</span></span>);
<span class="line-numbers">   5 </span> <span class="Operator">&lt;</span>/script<span class="Operator">&gt;</span>
</pre></p>


	<p>See <a href="http://support.microsoft.com/default.aspx/kb/927917"> BUG : Error message when you visit a Web page or interact with a Web application in Internet Explorer: &#8216;Operation aborted&#8217;</a> for a detailed explanation of the problem.</p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/210-ie6">ie6</a>, <a href="/tags/211-ie7">ie7</a>, <a href="/tags/212-bug">bug</a>, <a href="/tags/213-ajax">ajax</a>, <a href="/tags/214-prototype">prototype</a>, <a href="/tags/215-scriptaculous">scriptaculous</a>
    
    
  </div>
</div>






