Su forma más rápida más fácil de tener una aplicación web de una sola página sin una sola línea de código JavaScript.
Demostración en vivo
La demostración es solo archivos estáticos, es posible que desee colocar este directorio en la raíz del documento de su servidor o simplemente escriba el siguiente comando que iniciará un servidor HTTP simple en el puerto 8000, luego apunte a su navegador en http: // localhost: 8000/index.html
python -m SimpleHTTPServerel DOM$target : un objeto jQuery del elemento DOM targetwhere puede ser uno de: closest , inside o doc lo que significa un documento completo?how puede ser uno de: prepend , append o replace < a data-toggle =" ajax-load " href =" /posts/today.json " data-target =" .posts " > my link </ a >
< button type =" button " data-toggle =" ajax-ops " > my button </ a >
< div class =" me " data-refresh-url =" /user/me.json " data-template =" user_info " > </ div >
< div class =" posts " data-template =" posts_titles " > </ div >
< div class =" posts " data-template =" full_posts " > </ div >puedes definir
data-toggleajax-load : texto recuperado, contenido HTML o datos puros y aplicarlo a Target (s)ajax-ops -Fetches JSON OP-Codesajax-modal * requiere extensióndata-target : el selector para aplicar el contenido recuperadodata-url (que a veces puede ser reemplazado por href o data-refresh-url )data-template : la plantilla que se utilizará para representar datos purosdata-format : puede ser text , html o jsondata-how - puede ser uno de: prepend , append o replaceLas plantillas son funciones que toman el objeto JSON y devuelven HTML, puede usar cualquier motor de plantilla, pero sugerimos manillar
ajax_ops.flashmsg({html:, text:, type:info|danger, selector:, base_target:$obj, where:closest|inside|''})ajax_ops.flashmsg({text:'not found', type:'danger');ajax_ops.flashmsg.call(this, {text:'not found', type:'danger', selector:'.modal', where:'closest'});self.flashmsg_opts.selector que es .content:firstonsubmit="return ajax_ops.submit_form(this, params);"params son opcionalesparams.target=$objparams.cb=function($target, data){}ajax_ops.loads({html: CONTENT, text: CONTENT, data: JSON, template: NAME, el: ELEMENT, how: prepend|append|replace})ajax_ops.load({el:element, url:, how: prepend|append|replace, selector:, where:closest|inside|, })ajax_ops.refresh(element|selector, params)params son opcionalesparams.whereparams.base_elementajax_ops.load y acepta sus parámetros como howajax_ops.refresh('.me')ajax_ops.exec_ops([ [op1, selector1, params1], [op2, selector2, params2],.. ])removerefreshloadattr {set:{k:v}, unset:[k1,k2]}class {add:[], remove:[], toggle[]}ajax_ops.ops['my_opcode']=function(el, params){} // register templates
ajax_ops . templates = Handlebars . templates ;
// nice hack
Handlebars . partials = Handlebars . templates ;
// You might want to disable usual links behavior
$ ( 'a[data-toggle]' ) . click ( function ( e ) { e . preventDefault ( ) } ) ; Copyright 2014 Muayyad Alsadi
Licenciado bajo la licencia Apache, versión 2.0 (la "licencia"); No puede usar este trabajo, excepto de conformidad con la licencia. Puede obtener una copia de la licencia en el archivo de licencia o en:
http://www.apache.org/licenses/license-2.0
A menos que la ley aplicable sea requerida o acordado por escrito, el software distribuido bajo la licencia se distribuye de manera "como es", sin garantías o condiciones de ningún tipo, ya sea expresas o implícitas. Consulte la licencia para los permisos y limitaciones de rigor de idioma específico bajo la licencia.