2009-07-28 13 views
5

Obtener JSON en el lado del cliente a través de AJAX es algo que estoy buscando en mi aplicación ASP.NET MVC.Jquery o Basic XmlHttpRequest para MVC AJAX

Encontré Jquery y el script básico XmlHttpRequest para este propósito. Sé que la facilidad con la manipulación dom es un aspecto de Jquery. Pero preocupado con el tamaño del archivo de Jquery.

Pero todavía no puedo encontrar Por qué tengo que elegir y estudiar Jquery sobre el peso ligero XmlHttpRequest simple usando Javascript.

Quiero saber cuál es la mejor práctica que debo seguir o si me falta algo más que esto.

Thx

Respuesta

14

jQuery es tan común en estos días que si se hace referencia desde Google's library, es muy probable que las personas que ya tienen en su caché del navegador y no tendrá que descargarlo de todos modos.

El tamaño de la biblioteca JQuery minimizado es de solo 56k, más pequeño que muchas imágenes. Si también está comprimido por el servidor web, es mucho más pequeño que eso.

La clara ventaja de utilizar JQuery es que ya ha encapsulado todas las acciones básicas de XHR que tendrá que hacer, y lo hace en un entorno de navegador cruzado. Entonces, en lugar de escribir código ajax casero con errores, puedes hacer tus solicitudes de Ajax en una línea de JQuery javascript.

+2

Escuchar Womp. Él es perfecto. Estás loco por escribir tu propio JavaScript. ¡El código hacky de cosecha propia siempre termina siendo tan grande como jQuery sin funcionar tan bien! –

+0

@womp tiene una clara ventaja –

+0

. Aprecie todo su esfuerzo. Voy por Jquery. Pero nunca deje el XmlHttpRequest básico en caso de tamaño. El tamaño menor significa menos código, por lo tanto, menos errores. –

0

Creo que el problema del tamaño de la carga útil de los lib js será compensado por su apoyo a través del navegador y manejabilidad general para el desarrollo front-end ...

asegurarse de que usted recibe la versión miniaturizada en producción.

plus jQuery es una biblioteca js relativamente ligera, es una gran elección de biblioteca para aprender.

hay otros montón de curso:

También me gusta YUI e incluso MooTools

1

jQuery proporciona una gran cantidad de plomería que hace su vida más fácil. Por ejemplo, los objetos XmlHttpRequest deben ser instantiated as an ActiveX object para versiones anteriores de IE, con jQuery no tiene que preocuparse por ello.

No hay una "mejor práctica" que deba seguir, pero a menos que el tamaño sea una consideración muy crítica para su proyecto, le recomiendo que considere una biblioteca Ajax. Hace que el desarrollo sea mucho más rápido y te permite estar seguro de que tu Ajax será compatible con todos los navegadores.

0

jQuery es excelente en la manipulación de DOM. En tu caso, puede ser excesivo.

Si le preocupa el tamaño del archivo, puede que le interese la descarga del estilo de cafetería de Mootool, donde solo elige las piezas que desea y maneja las dependencias. Desea la sección Solicitud.

herramientas Moo: http://mootools.net/core

Ejemplo: http://davidwalsh.name/basic-ajax-requests-mootools

+0

mootools se ve bien pero queda atrás de xmlhttprequest básico en términos de tamaño. –

+0

MooTools también está alojado en Bibliotecas de Google (lo que significa que ya está almacenado en caché para muchas personas) y proporciona una excelente compatibilidad con JSON y Ajax entre navegadores. – zombat

0

Yo recomiendo usar jQuery para un par de razones. La primera razón es porque proporciona una capa de abstracción de JavaScript para codificar.jQuery es compatible con todos los principales navegadores (si no con todos los navegadores), por lo que no tendrá que preocuparse tanto por la compatibilidad entre navegadores o las comprobaciones del navegador.

En segundo lugar - jQuery proporciona llamadas de unión simples para hacer sus peticiones ajax

Tercero (que me parece más útil) ($() carga (URL), etc.) - jQuery (como mootools y prototipo) establece la encabezado de la solicitud de ajax a "X-Solicitado-Con" que le permite probar si una solicitud es una solicitud de Ajax o no. Esto permite una fácil integración de JavaScript (JavaScript no intrusivo).

Además, una vez que vaya jQuery, nunca volverá.

2

Este problema aquí es por qué reinventar la rueda. Como han señalado otras personas, las bibliotecas proporcionan una capa de abstracción sobre cosas como las peculiaridades del navegador, etc.

Casi se garantiza que cualquier código personalizado que escriba probablemente contenga errores. ¿Por qué molestarse cuando puede tener el beneficio de utilizar un código que tiene el beneficio adicional de ser probado y utilizado ampliamente en la naturaleza.

Deje que una biblioteca haga su trabajo, y déjese más tiempo para codificar la lógica comercial personalizada de su aplicación.

+2

Aunque estoy 100% de acuerdo con no reinventar la rueda mientras codifico, siempre me gusta escribir una cita divertida cuando escucho esa frase. "Si nadie volviera a inventar la rueda, todavía estaríamos utilizando ruedas de piedra". : D – zombat

0

Lo siento por mi inglés, en mi opinión, usted tiene que aprender y conocer a Jquery para la aplicación de cliente ajax simple o compleja o dom manuplation, puede hacer dom y ajax llamar fácil con jquery.

Ya sabes, ya puedes hacer una llamada ajax con funciones de javascript puras. How to Make AJAX Requests With Raw javascript, este artículo tiene dos partes.

De lo contrario, durante la solicitud de ajax en la página debe verificar los datos recibidos y debe enumerar los datos recibidos cuando tenga datos complejos (me refiero a datos de colección o de matriz). En este punto, verás el poder de Jquery, sobre el manejo, la manupulación de los datos recibidos.

Te aseguro que cuando trabajes en datos ligeramente complejos mirarás a alguna biblioteca para hacer algo fácilmente en tus páginas. Jquery le dará más que XMLHttpRequest de Javascript.

Última piensa, usted puede poner su referencia de script sobre code.google.com como esto

<script type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"> 
</script> 

Con este estilo se utiliza la capacidad de ancho de banda de almacenamiento en caché de Google y su aplicación Allways mantenerse al día.

escribir menos, hacer más ...

+0

hay versiones más nuevas que 1.2.6 de jQuery disponibles alojadas por google –

0

Está bien, voy a dar algunas razones por las jQuery es el aerogenerador (camino a seguir) cuando se trata de Ajax

  1. XMLHttpRequest se implementan de forma diferente para diferentes navegadores y tendrás que escribir tus propias funciones de escucha.
  2. Si hace una aplicación no trivial, la cantidad de código que escriba trabajando con JQuery será mucho menor que el código que escribiría para trabajar con Javascript. Esto no solo reduce el tiempo de desarrollo, sino que también le brindará un tiempo de ejecución más rápido.
  3. JQuery facilita la manipulación de DOM y CSS. Sin que tengas la oportunidad de un buen tipo en el infierno de lograr la misma funcionalidad en 3 veces más tiempo.

Si está listo para prescindir de jQuery, que también podría rechazar ASP.Net/PHP y escribir algunas pasarelas CGI para un mejor rendimiento :)

Cuestiones relacionadas