Ajax request_jquery をシミュレートする jQuery Mockjax プラグインの詳細な例
原則
jquery-mockjax は、フロントエンド Ajax リクエストのバックグラウンドへの戻りデータを模擬するために使用されます。
原理は非常にシンプルです
Ajax リクエストを送信したい js コードにブレークポイントを置き、[jquery-mockjax が導入されている場合] と [jquery-mockjax が導入されていない場合] の $.ajax.toString() の値を比較します。
明らかに、jquery-mockjax が導入されると、このモック ライブラリは jquery が提供する ajax 関数を置き換えます。これにより、嘲笑が容易になります。
実際の開発プロセスでは、フロントエンドとバックエンドが統一インターフェイスをネゴシエートし、それぞれが独自のタスクを開始しました。現時点では、バックグラウンドからデータを取得する必要がある次のような Ajax リクエストがあります。
$.ajax({ url: '/products/' }).done(function(res) { $('#result').html(res); });
しかし、このサービスはまだ作成されていない可能性があります。おそらく、バックエンドを開発した人 (PHP、Ruby、.NET、GoldFusion などを使用するハンサムな男性) が辞めたか、他のことで忙しいのかもしれません。とにかく、このリクエストが行われると、期待する結果は得られず、404 (Not Found) エラーが発生するだけです。
これは本当にひどいもので、促しても無駄です。私の隣のテスターはテストするよううるさく言っていて、私はすぐに結果が知りたいと思っています。現時点では、自分自身に頼るしかありません。より良い方法の 1 つは、Ajax リクエストをシミュレートすることです。ここでは jQuery Mockjax プラグインを使用します。
アドレス: jQuery Mockjax
これは jQuery プラグインです。ダウンロードして引用する場合は、jQuery の後に配置します。
<!DOCTYPE html> <html> <head> <title>Test</title> </head> <body> <div id="result"></div> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script src="vendor/jquery.mockjax.js"></script> </body> </html>
次に、リクエスト コードの前にリクエストをシミュレートするコードを実行し、プラグインによって提供される $.mockjax() メソッドを使用し、2 つのパラメータ url と responseText を一時的に指定します。
$.mockjax({ url: '/products/', responseText: 'Here you are!' });
同じ URL の Ajax リクエストを監視し、リクエストが発行されたときにレスポンスをインターセプトしてシミュレートします。そのため、私のプログラムは問題なく実行できます。こちらです。この内容は div#result に表示されます。リクエストをモックする必要がなくなったら、$.mockjax.clear() メソッドを使用してリクエストをクリアできます:
$.mockjax.clear();
バックグラウンド サービスの開発が完了したら、このメソッドを使用してすべてのシミュレートされたリクエストをクリアし、実際のリクエストの効果を体験できます。すべてのシミュレーション リクエストを一度にクリアするのではなく、特定のシミュレーション リクエストをターゲットにする場合は、シミュレーション リクエストの ID を渡すと、各シミュレーション リクエストが ID 値を返します:
var idOne = $.mockjax({ }), idTwo = $.mockjax({ }); $.mockjax.clear(idTwo);
これにより、2 番目のシミュレーション リクエストがクリアされ、最初のシミュレーション リクエストが保持されます。
Ajax リクエストの URL アドレスは、シミュレートされたリクエストの URL に対応している必要があるため、ページ上に多数のリクエストがあると仮定すると、各リクエストをシミュレートするのは非常に困難になりますが、幸いなことに、プラグインの url パラメータは次のとおりです。ワイルドカードを提供します * メソッド:
$.mockjax({ url: '/books/*' });
リクエストを URL アドレス /books/cook と照合するだけでなく、リクエストをアドレス /books/math などと照合することもできます。より複雑な照合パターンには正規表現を使用することもできます。
$.mockjax({ url: /^\/data\/(cook|math)$/i });
プラグインの data パラメーターを使用して、さまざまなリクエスト データに基づいてさまざまなシミュレートされた応答を実行します。
$.mockjax({ url: '/books/', data: { type: 'cook' }, responseText: 'You want a cook book!' }); $.mockjax({ url: '/books/', data: { type: 'math' }, responseText: { "content": "You want a math book!" } });
同じURLアドレスであっても、要求したデータが異なると、得られる応答内容も異なります。応答コンテンツにはプレーン テキスト文字列に加えて、json
も使用できます。
フォーマット文字列。
プラグインには、デフォルトのパラメータ設定オブジェクト $.mockjaxSettings も用意されており、指定されていないパラメータには次のデフォルト値が使用されます。
$.mockjaxSettings = { logging: true, status: 200, statusText: "OK", responseTime: 500, isTimeout: false, throwUnmocked: false, contentType: 'text/plain', response: '', responseText: '', responseXML: '', proxy: '', proxyType: 'GET', lastModified: null, etag: '', headers: { etag: 'IJF@H#@923uf8023hFO@I#H#', 'content-type' : 'text/plain' } };
$.mockjaxSettings.contentType = "application/json";

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Ajax リクエストの有効期限を延長するにはどうすればよいですか?ネットワーク リクエストを行う場合、大量のデータや複雑な計算を処理する必要がある状況に遭遇することがよくあります。そのため、リクエストがタイムアウトしてデータが正常に返されない可能性があります。この問題を解決するには、Ajax リクエストの有効期限を延長することで、リクエストを確実に正常に完了させることができます。ここでは、Ajax リクエストの有効期限を延長する方法と具体的なコード例を紹介します。タイムアウト属性を使用して Ajax リクエストを行う場合、タイムアウト属性を次のように設定できます。

AJAX リクエストには固定の有効期限がありません。「非同期 JavaScript および XML」は、Web ページ上で非同期リクエストを送信するためのテクノロジーです。JavaScript を使用して、ページ全体を更新せずにサーバーにリクエストを送信し、応答を受信します。

Yii フレームワークでは、コントローラーはリクエストの処理において重要な役割を果たします。通常のページ リクエストの処理に加えて、コントローラーを使用して Ajax リクエストを処理することもできます。この記事では、Yii フレームワークで Ajax リクエストを処理する方法を紹介し、コード例を示します。 Yii フレームワークでは、Ajax リクエストの処理は次の手順で実行できます。 最初の手順は、コントローラー (Controller) クラスを作成することです。 Yii フレームワークが提供する基本コントローラークラス yiiwebCo を継承できます。

実用的なガイド: どの Ajax リクエスト ライブラリがあなたのプロジェクトに適していますか?フロントエンド開発の継続的な発展により、Ajax は Web 開発に不可欠な部分になりました。プロジェクトに適した Ajax リクエスト ライブラリを選択することは、開発効率を向上させ、ユーザー エクスペリエンスを最適化するために重要です。この記事では、読者が自分のプロジェクトに適したツールを選択できるように、一般的に使用される Ajax リクエスト ライブラリをいくつか紹介します。 jQueryAjax jQuery が最も人気のある JavaScript ライブラリの 1 つであることは否定できません。豊かな

開発の要点: 一般的に使用される Ajax リクエスト ライブラリについて調べてください。最新のフロントエンド開発では、非同期リクエストに Ajax を使用することが標準機能になっており、適切な Ajax リクエスト ライブラリを選択することで、ネットワーク リクエストをより効率的に処理できるようになり、開発効率とユーザー エクスペリエンスが向上します。この記事では、開発者がプロジェクトに適したツールを選択できるように、一般的に使用される Ajax リクエスト ライブラリをいくつか取り上げます。 jQueryAjax: 最も人気のある JavaScript ライブラリの 1 つである jQuery は、強力な Ajax リクエスト関数を提供します。

Ajax リクエストの有効期限はカスタマイズできますか? Web 開発では、多くの場合、Ajax を使用して非同期リクエストを実装し、ページにデータを動的にロードします。 Ajax リクエストを行う場合、リクエストのタイムアウトを制御する必要がある場合があります。つまり、時間制限を設定し、指定された時間内に応答が受信されない場合にリクエストを処理する必要があります。では、Ajax リクエストの有効期限はカスタマイズできるのでしょうか?この記事では、この問題について詳しく紹介し、具体的なコード例を示します。 jQueryのAjax機能を利用する

Ajax リクエストはどのような状況で期限切れになりますか? Web アプリケーションの開発に伴い、Ajax (非同期 JavaScript および XML) テクノロジは Web 開発の重要な部分になりました。 Ajax を通じて、サーバーからデータを取得し、ページ全体を更新せずに Web ページのコンテンツを動的に更新できます。ただし、Ajax を使用してリクエストを送信すると、リクエストの有効期限が切れる場合があります。では、Ajax リクエストはどのような状況で期限切れになるのでしょうか?

Ajaxリクエストの有効期限を設定するにはどうすればよいですか?特定のコード例が必要 インターネット アプリケーションの開発に伴い、Ajax は Web 開発に不可欠な部分になりました。 Ajax リクエストを送信する場合、リクエストが長すぎてユーザー エクスペリエンスが低下したり、ブラウザがフリーズしたりすることを防ぐために、リクエストの有効期限を制限する必要がある場合があります。この記事では、Ajax リクエストの有効期限を設定する方法と具体的なコード例を詳しく紹介します。 Ajax リクエストの有効期限の設定には主に XMLHttpRequest が必要です
