Eseguire codice javascript contenuto in una response Ajax

datedomenica 8 novembre 2009 alle 9.30  - posted by Manuel Scapolan in Javascript

Ajax consente l'aggiornamento dinamico di una pagina web, ma se nel contenuto della response è presente del codice javascript questo non viene eseguito.
Come possiamo risolvere questo problema?

Cercando in rete ho trovato che la soluzione più semplice è quella di estrarre con una regular expression il codice all'interno del tag <script> e di passarlo alla funzione eval(). Vediamo in dettaglio un esempio utilizzando per la chiamata Ajax la libreria prototype:

var regex = /<script\b[^>]*>([\s\S]*?)<\/script>/gm;
 
function DoAjax(url)
{
  new Ajax.Request(url,
      {
         method: 'get',
         onSuccess: updateAjaxArea,
         onFailure: showMessage
      });
}
 	
function updateAjaxArea(transport)
{
  $('ajaxarea').innerHTML = transport.responseText;
  var str = transport.responseText; 
  var scripts = str.match(regex);
  eval(scripts[0].replace(/(<\s*\/?\s*)script(\s*([^>]*)?\s*>)/gi,''));
}
 	
function showMessage(transport)
{
  alert('An error occurred during the AJAX request.');
}

tagsTags:

Eseguire dei filtri nei file xml di mapping in NHibernate con la proprietà where

datevenerdì 6 novembre 2009 alle 23.27  - posted by Manuel Scapolan in NHibernate

Immaginiamo di avere una collection di oggetti mappati con un bag in NHibernate e di volerli ottenere già filtrati dal database per una particolare condizione. Sembrerebbe un lavoro da where ed infatti non a caso sfogliando tra gli attributi dell'elemento bag troviamo proprio l'attributo where, ma vediamo in un esempio come utilizzarlo:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
  <class name="Category" table="Categories">
  ...     
  <bag name="Children" lazy="true" where="IsActive='true'">
     <key foreign-key="FK_Categories_Categories">
        <column name="ParentCategoryID" length="4" />
     </key>
     <one-to-many class="Category" not-found="ignore" />
  </bag>
  </class>
</hibernate-mapping>

tagsTags:

Monorail & NVelocity: primo e ultimo elemento di un ciclo foreach

datevenerdì 6 novembre 2009 alle 21.48  - posted by Manuel Scapolan in Castle Project

Può capitare alle volte di voler distinguere l'output di un foreach per il primo oppure l'ultimo elemento del ciclo, per fare questo in MonoRail il view engine NVelocity ci mette a disposizione la variabile $velocityCount che possiamo utilizzare nel seguente modo:

<table border="0" cellspacing="0">
   #foreach($item in $items)
      #if($velocityCount == 1)
      <tr class="first">
         <td>I'm the first row!</td>
      </tr>
      #elseif($velocityCount == $items.Count)
      <tr class="last">
         <td>I'm the last row!</td>
      </tr>
      #else
      <tr>
         <td> </td>
      </tr>
      #end
   #end
</table>

Fonte: Just in ram

About me

manuel scapolanSono un consulente informatico. Nel 2004 terminati gli studi in Ingegneria Informatica (1° livello), ho iniziato come freelance collaborando con una ditta di consulenza informatica ed una agenzia di marketing e comunicazione nello sviluppo di applicazioni web. Attualmente divido il lavoro di sviluppatore e progettista web con attività di formazione nel settore della programmazione.
View Manuel Scapolan's profile on LinkedIn

Follow me on Follow manuelscapolan on Twitter

Calendario


<<  agosto 2010  >>
lumamegivesado
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

Disclaimer

Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati mediante:
creative commons
Attribuzione: Non commerciale
Condividi allo stesso modo. R.2.5

Books (a bit more about my library)

Domain Driven Design - Eric Evans Applying Domain-Driven Design and Patterns - Jimmy Nilsson Refactoring to Patterns - Joshua Kerievsky Design Patterns -  Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides Code Complete Second Edition - Steve McConnell Patterns of Enterprise Application Architecture - Martin Fowler Agile Principles, Patterns, and Practices in C# - Robert C. Martin xUnit Test Patterns - Gerard Meszaros Refactoring - Martin Fowler CLR via C# Second Edition - Jeffrey Richter Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries - Krzysztof Cwalina, Brad Abrams Don't make me think! - Steve Krug Bulletproof Ajax - Jeremy Keith

Manuel Scapolan Copyright © 2007 - 2010 - Tutti i diritti riservati - Powered by BlogEngine.NET 1.5.0.7 - silk icons by famfamfam - Time CET