2009-07-28 7 views
5

JSONをAJAX経由でクライアント側で取得することは、私のASP.NET MVCアプリケーションで探しているものです。MVC AJAXのJqueryまたはBasic XmlHttpRequest

目的のためにJqueryと基本的なXmlHttpRequestスクリプトが見つかりました。私はdom操作の容易さがJqueryの1つの側面であることを知っています。しかし、Jqueryのファイルサイズに関係しています。

でも、私はJavascriptを使用して軽量の単純なXmlHttpRequestでJqueryを選択して学習する必要があるのですか。

私は、私が従う必要があるベストプラクティスか、これ以外に何か不足していることを知りたいと思います。

Thxを

答えて

14

のようにjQueryのは、あなたがGoogle's libraryからそれを参照する場合、それは人々はすでに自分でそれを持っている可能性が高いということ、これらの日それほど一般的ですとにかくそれをダウンロードする必要はありません。

縮小されたJQueryライブラリのサイズは56kで、多くのイメージよりも小さくなっています。それがWebサーバーによって圧縮されている場合は、それよりはるかに小さくなります。

JQueryを使用することの明確な利点は、クロスブラウザー環境で実行する必要があるすべての基本的なXHRアクションを既にカプセル化していることです。そのため、潜在的にバグのある手作りのajaxコードを書く代わりに、JQueryのJavaScriptの1行でAjaxリクエストを作成することができます。

+2

はWompに耳を傾けます。彼は上に座っている。あなたは自分のJavaScriptを書くのを忘れています。自家製のハッキーコードは、jQueryと同じくらい大きなものになってしまいます。 –

+0

@wompは明らかな利点をタックスします –

+0

あなたのすべての努力を感謝します。私はJqueryのために行きます。 しかし、sizeの場合は基本的なXmlHttpRequestをそのままにしないでください。サイズが小さくなればなるほどバグは少なくなります。 –

0

私は

あなたが縮小さバージョンをホストすることを確認してください... JS libにのペイロードサイズの問題は、そのクロスブラウザのサポートとフロントエンドの開発のための総合的な扱いやすさを上回ることになると思います生産中。

さらにjQueryは、比較的軽量のjsライブラリです。これは、学習するのに最適なライブラリです。

もちろんたくさんの他があります。

は私もYUIとさえMooTools

1

jQueryは、あなたの人生を楽にする配管をたくさん提供します。たとえば、古いバージョンのIEではXmlHttpRequestオブジェクトがinstantiated as an ActiveX objectである必要があります.jQueryを使用すると、気にする必要はありません。

「ベストプラクティス」はありませんが、プロジェクトにとって非常に重要な考慮事項でない限り、Ajaxライブラリを検討することを強くお勧めします。開発が大幅に高速化され、Ajaxがブラウザ間で互換性があると確信できます。

0

jQueryはDOM操作で素晴らしいです。あなたの場合、それは過度の可能性があります。

ファイルサイズに関心がある場合は、MooToolのカフェテリアスタイルのダウンロードに興味があり、必要な部分だけを選択し、依存関係を処理します。リクエストセクションが必要です。

武ツール:http://mootools.net/core

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

+0

mootoolsは素晴らしく見えますが、サイズに関しては基本的なxmlhttprequestの背後にあります。 –

+0

MooToolsはGoogle Libraries(多くの人に既にキャッシュされていることを意味します)によってもホストされ、優れたクロスブラウザJSONおよびAjaxサポートを提供します。 – zombat

0

私は理由のカップルのためのjQueryを使用することをお勧めします。第1の理由は、コード化するためのjavascript抽象化レイヤーを提供するからです。jQueryはすべての主要なブラウザ(すべてのブラウザではないにしても)をサポートしているので、ブラウザ間の互換性やブラウザのチェックについて心配する必要はありません。

第二に - (。$()負荷(URL)、など)jQueryのは、あなたのAJAXリクエスト(私が最も有用見つける。)

サード作るために単純な結合の呼び出しを提供 - jQueryの(MooToolsはプロトタイプなど)を設定しますリクエストがajaxリクエストであるかどうかをテストするための "X-Requested-With"へのajaxリクエストのヘッダ。これは、簡単なJavaScriptの統合(控えめなjavascript)を可能にします。

はまた - あなたはjQueryのを行く一度あなたが戻って行くことはありません。

2

この問題はこちらなぜホイールを改造するのですか他の人が指摘したように、ライブラリは、など

ほとんどあなたが書いた任意のカスタムコードは、おそらくバグが含まれることが保証のブラウザの癖として、物事の上に抽象化レイヤーを提供しています。あなたが野生の中で広範にテストされて使用されるという利点があるコードを使う利点があるときはどうして迷惑をかけるのでしょうか。

は、ライブラリがあなたの仕事をやってみましょう、と自分で自分のアプリケーションのカスタムビジネスロジックをコーディングするためのより多くの時間を残します。

+2

私は100%がコーディング中にホイールを再発明しないことに同意しますが、私はいつもそのフレーズを聞いて面白い見積もりを捨てたいと思います。 「ホイールを再発明した人がいれば、まだホイールを使用している」 :D – zombat

0

申し訳ありませんが、私の考えでは、単純な複雑なAjaxクライアントアプリケーションまたはDOMのmanuplationのためにJqueryを学び、知っていなければなりません。jqueryでdomとajaxを簡単に呼び出すことができます。

あなたが既に知っている、あなたはすでに、純粋なJavaScriptの機能を持つAJAX呼び出しを行うことができます。 How to Make AJAX Requests With Raw javascript、この記事には2つの部分があります。

そうでない場合は、ページ上のAjaxリクエスト時に、あなたは、受信したデータを確認するために持っていて、複雑なデータを(私は、コレクションや配列データを意味する)があるときは、受信データを列挙すべきです。この時点で、受信したデータを処理し、マニュプレーティングすることについてのJqueryの力が必要になります。

あなたがあなたのページに何かを作るeasylyためのいくつかのライブラリになります少し複雑なデータを上の作業になるとき、私は、あなたを保証します。 JqueryはJavascriptのXMLHttpRequest以上のものを提供します。

最終思う、あなたはオールウェイズ最新に保つGoogleの帯域幅のキャッシング能力と、アプリケーションを使用して、このスタイルでこの

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

ようcode.google.com上にスクリプト参照を置いてもよいです。

+0

GoogleでホストされているjQuery 1.2.6より新しいバージョンがあります –

0

わかりました...複数の操作を行い、以下を書くjQueryのWTG(行くへの道)である理由、私はあなたにいくつかの理由を与えることがアヤックス

に来る
  1. のXMLHttpRequestをするために異なる方法で実装されていますさまざまなブラウザがあり、あなた自身のリスニング機能を書く必要があります。
  2. 単純なアプリケーションを作成した場合、JQueryで作業するコードの量は、Javascriptで作業するコードの量よりはるかに少なくなります。これは開発時間を短縮するだけでなく、おそらく実行時間も短縮されます。
  3. JQueryはDOMとCSSの操作を容易にします。あなたは3倍の時間で同じ機能を達成するために地獄でいい男のチャンスがなければ。

あなたはjQueryを使って分配する準備ができたら、あなたにもASP.Net/PHPを拒否し、パフォーマンス向上のために、いくつかのCGIゲートウェイを書くかもしれません:)