問題タブ [mockjax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
183 参照

ember.js - Ember データのサイドロードされた mockjax 呼び出し

私は、mockjax を介して ember データの ajax 呼び出しをモデル化しようとしています。

私のモデル:

order経由でレコードをロードしようとしていますmockjax。(ボタンを押す) 通話後のコンソールによると

Ember データが 2 回目の呼び出しを試みる

まず第一に、なぜ2番目の呼び出しなのか理解できませんか? サービスは注文 JSON にサイドロードされます

また、ember-data がApp.Service:ember518:1ID「1」ではなくレコードを呼び出そうとするのはなぜですか?

ここにJsBinがあります

http://jsbin.com/finahuna/1/edit

0 投票する
1 に答える
179 参照

ember.js - mockjax が ember-data オブジェクトを返すようにする方法

Ember データ モデルがあるとします (これは CoffeeScript です)。

Person = DS.Model.extend firstName: DS.attr("string") lastName: DS.attr("string")

または JavaScript として:

Person = DS.Model.extend({ firstName: DS.attr("string"), lastName: DS.attr("string") });

mockjax を使用してストアから Person オブジェクトを返すにはどうすればよいですか? この mockjax は、Person オブジェクトではなく、匿名の JavaScript オブジェクトを返すため、機能しません (私が思うに)。

$.mockjax type: "GET" url: "/people" data: { firstName: "John"} status: "200" dataType: "json" response: (d) -> person = { id: 2 firstName: John lastName: Smith } @responseText = person

または JavaScript として:

$.mockjax({ type: "GET", url: "/people", data: { firstName: "John" }, status: "200", dataType: "json", response: function(d) { var person; person = { id: 2, firstName: John, lastName: Smith }; return this.responseText = person; } });

私はES6参考までに使用しています。

0 投票する
2 に答える
151 参照

ajax - done を実際の実装に渡さずに done を呼び出すことはできますか?

私はいくつかのジャスミン テストを作成し、mockjax を使用して ajax 呼び出しをモックしています。ジャスミンを非同期で動作させるには追加の作業が必要であることは知っていますが、私のソリューションは好きではありません。

' ' を実際の実装に渡しdone、ajax リクエストの promise 内からこれを呼び出しています。

すべての例は、setTimeouts を「シミュレーション」として使用しているように見えますが、これは私の意見では完全には役に立ちません。

理解に役立つコードを次に示します。

ジャスミン

実装

私はこれについてすべて間違っていますか?

繰り返しますが、ジャスミンからビューモデルに渡さずに、mockjax / ajax が .done() であることをジャスミンに知らせたいと思いdoneます。

0 投票する
2 に答える
555 参照

javascript - responseTime が Mockjax で機能しない

長い応答時間をシミュレートする必要があります。私の Moockjax は機能しており、適切なモック データを提供しています。しかし、responseTime を 20 秒に設定したとしても、私の ajax 呼び出しはページをロードした瞬間に行われます。

アイデアはありますか?

ここで他の潜在的なエラーの原因を除外するために、テスト ページを最小限に減らしました。

また、CasperJS と Mockjax (casper.evaluate 内) を使用したテストも作成しました。そこは同じです。

ここに私のCasperJSコードがあります

npm install jquery-mockjaxCasperJS がインストールされている場合は、それから実行できるはずですcasperjs test.js。20 秒以内に次の出力が得られます

モックジャック出力

それについてのブログ記事もここに書きました。

0 投票する
2 に答える
390 参照

javascript - MockJAX が CasperJS に応答しない

以下は casperjs と mockjax を使用する私のコードです。ただし、mockjax は ajax 呼び出しをインターセプトできません。モック レスポンスの代わりに ajax レスポンスを返します。また、 $.mockjax.mockedAjaxCalls().length これは何も出力しません。私がここで何をしているのか分かりますか?

$.mockjax.mockedAjaxCalls() の値を評価コンテキスト以外で実際に出力する方法はありますか?? mock4.png には、mockjax コールバックが発生していないことを示すスクリーンショットが表示されることに注意してください。

0 投票する
1 に答える
1770 参照

javascript - MockJax が JavaScript アプリケーションの AJAX リクエストに応答を送信しない

実際の AJAX 呼び出しをモック/テストできるjQueryライブラリを使用しています。MockAjax

私のアプリケーションでは、AJAX リクエストのライブ アプリ バージョンを使用でき、AJAX リクエストMockAjaxをインターセプトしてモック レスポンスで応答します。

私はまた、M<ockJson似ている別のライブラリを使用していますが、代わりにモック JSON 応答を生成できます。

両方のライブラリを一緒に使用して、私のアプリケーションは AJAX リクエストを行います。 MockAjaxAJAX リクエストをキャッチし、ランダムなレスポンスをMockJson生成して返します。JSON

私の過去のプロジェクトでは、これは今日まで問題なくうまく機能していました...

アプリケーションがかなりうまく機能するようになったので、今度は JavaScript をより構造化されたバージョンに再構築することにしました。(DOM イベント、タスクなどをコードのセクションに入れる)。

これが私の問題の始まりです....

私の新しいコードでは、

  1. 私のアプリはAJAXリクエストを行います。
  2. MockAjaxリクエストをキャッチしAJAXます。
  3. MockJsonJSON応答を取得するために呼び出されます
  4. エラーこれはすべてがうまくいかないところです...

この最後のステップで、元の呼び出し関数JSONに応答を返す必要があります。それは単にそうではありません!AJAXSuccess

コンソールにエラーや何も表示されません。alert()私は AJAX 呼び出し関数に単純な関数を設定しましたsuccess()が、アラートをトリガーすることすらできません!

ある種のスコープの問題があるかどうか、または問題が何であるかはわかりません。私のアプリがフラットだったとき、グローバル ルート レベルのすべての変数と関数は、アプリの構造をまったく持たずに...すべて機能していました。すべてをオブジェクトなどに移動するとすぐに....MockAjax応答をReal Ajax応答に返さないというこの1つの問題を除いて、すべて機能します!

アプリ コードの 95% を削除し、このサンプルの問題を実行するための最小限のコードだけで再構築しました。問題のデモはこちら... http://jsbin.com/vugeki/1/edit?js

アプリの流れ:

  • projectTaskModal.init();ページの読み込み時に実行されます
  • This fires off projectTaskModal.mockAjax.init();MockAjaxMockJsonコードを設定します
  • 次に、リクエストprojectTaskModal.task.openTaskModal(projectTaskModal.cache.taskId);を実行する実行されますAJAX
  • AJAX POST Requestに送信されます/gettaskevents
  • MockAjaxに送信されたリクエストをキャッチします/gettaskevents
  • MockAjax次に、呼び出して応答 MockJsonを生成します。その関数を呼び出すと、JSON 応答がコンソールに出力されるので、それが生成されていることがわかります。JSONprojectTaskModal.mockAjax.generateTaskEventsJson();
  • 私のMockAjaxコードでvar taskeventsは、応答を保持し、JSONこれに設定します... this.responseText = taskevents;``this.responseText I believe is what is supposed to be returned to the Applications originalAJAX` 呼び出し。ここに問題があるようです!最初に要求した元の AJAX コードに応答を返していないようです!

これはある種のスコープの問題でしょうか?

0 投票する
1 に答える
721 参照

javascript - 延期された jQuery AJAX リクエストで done() コールバック関数が実行されない

アプリの動作をシミュレートするために、AJAX リクエストで jQuery Deferred オブジェクトを使用して簡単なデモをセットアップしました。

私の問題は、古い非遅延メソッドから切り替えて以来、成功のコールバックを取得できないことです。

コールバックのみfail()が呼び出されます。誰かがコールバックを成功させるのを手伝ってくれますか? どこが間違っているのかわかりませんか?どんな助けにも感謝します

私のデモはこちらhttp://jsfiddle.net/jasondavis/y645yp4g/4/

私の古いAJAX呼び出しはこのようなものでした...

Deferred オブジェクトを使用した新しい AJAX 呼び出し...

/gettask への AJAX 要求に対するモック AJAX 応答