mockjs の共通メソッドの共有

小云云
小云云オリジナル
2018-03-28 17:02:322914ブラウズ

この記事では主にmockjsの一般的なメソッドをテキストとコードで説明します。お役に立てれば幸いです。

一.mock.mock()

データテンプレートに基づいてシミュレーションデータを生成します。さらに重要なのは、Ajax リクエストを開始するときにこのデータを受信できる必要があることです。これが Mock.mock() の動作です。

Mock.mock( rurl?, rtype?, template|function( options ) )

(1). パラメータの意味とデフォルト値

パラメータ rurl: オプション。インターセプトする必要がある URL を示します。URL 文字列または通常の URL を指定できます。たとえば、//domain/list.json/、「/domian/list.json」などです。
パラメータ rtype: オプション。インターセプトする必要がある Ajax リクエストのタイプを示します。たとえば、GET、POST、PUT、DELETE などです。
パラメータテンプレート: オプション。データ テンプレートを表します。オブジェクトまたは文字列を指定できます。たとえば、{ 'data|1-10':[{}] }、'@EMAIL'。
パラメータ機能(オプション): オプション。応答データの生成に使用される関数を表します。
パラメーター オプション: このリクエストの Ajax オプション セットを指します。

(2).メソッド

2.Mock.mock(template) データテンプレートを元にシミュレーションデータを生成

3.Mock.mock(rurl, template)
データテンプレートを記録します。 rurl に一致する Ajax リクエストがインターセプトされると、データ テンプレートのテンプレートに基づいてシミュレートされたデータが生成され、応答データとして返されます。

4.Mock.mock(rurl, function(options))
応答データの生成に使用される関数を記録します。 rurlに一致するAjaxリクエストをインターセプトすると、関数function(options)が実行され、実行結果がレスポンスデータとして返されます。

5.Mock.mock(rurl, rtype, template)
レコードデータのテンプレート。 rurl と rtype に一致する Ajax リクエストがインターセプトされると、データ テンプレートのテンプレートに基づいてシミュレートされたデータが生成され、応答データとして返されます。

7.Mock.mock(rurl, rtype, function(options))
応答データの生成に使用される関数を記録します。 rurlとrtypeに一致するAjaxリクエストをインターセプトすると、関数function(options)が実行され、実行結果がレスポンスデータとして返されます。

(3). Liezi

var data8 = Mock.mock(/\.json/,"get",{  
  "name":"@name",  
  "isTrue|1":true,  
  "color":"@color"  
})  
  
Mock.mock(/\.json/, 'post', function(options) {  
    return options.type  
})  
$.ajax({  
    url: 'hello.json',  
    type: 'get',  
    dataType: 'json'  
}).done(function (data, status, jqXHR) {  
    $(&#39;<pre class="brush:php;toolbar:false">&#39;).text(JSON.stringify(data, null, 4))  
        .appendTo(&#39;body&#39;)  
})  
  
$.ajax({  
    url: &#39;hello.json&#39;,  
    type: &#39;post&#39;,  
    dataType: &#39;json&#39;  
}).done(function (data, status, jqXHR) {  
    $(&#39;<pre class="brush:php;toolbar:false">&#39;).text(JSON.stringify(data, null, 4))  
        .appendTo(&#39;body&#39;)  
})

公式サイトを見る Liezi

II.Mock.Random

Mock.Randomは、様々なランダムデータを生成するために使用されるツールクラスです

(1).基本的な使い方

1 .Mock.Random.boolean() はランダムなブール値を返します。

2.Random.natural() はランダムな自然数 (0 以上の整数) を返します。

3.Random.integer() はランダムな整数を返します。

4.Random.float() はランダムな浮動小数点数を返します。

5.Random.character() はランダムな文字を返します。

6.Random.string() はランダムな文字列を返します。

7.Random.range(start?, stop, step?) は整数配列を返します。

公式サイトを見る

(2).日付+時刻

1.Date
Random.date() "2002-10-23"
Random.date('yyyy-MM-dd') // " 1975- 04-27"
Random.date('yy-MM-dd') // "00-01-08"

2.時刻:
Random.time() // "05:06:06"

3 .日付と時刻
Random.datetime('yyyy-MM-dd A HH:mm:ss')

4. 現在の日付と時刻 Random.now()

(3)。 ( 4). 地理的位置データをシミュレートします

(5). 色 + テキスト + 姓 (名)

公式 Web サイトを確認してください

3. Mock.valid (テンプレート、データ)

実際のデータかどうかを確認しますデータはデータ テンプレートのテンプレート一致と一致します。


テンプレートは必須です。データ テンプレートを表します。オブジェクトまたは文字列を指定できます。たとえば、{ 'list|1-10':[{}] }、'@EMAIL'。

データは必須です。実際のデータを表します。


例:

var template = {
    name: &#39;value1&#39;
}
var data = {
    name: &#39;value2&#39;
}
Mock.valid(template, data)
// =>
[
    {
        "path": [
            "data",
            "name"
        ],
        "type": "value",
        "actual": "value2",
        "expected": "value1",
        "action": "equal to",
        "message": "[VALUE] Expect ROOT.name&#39;value is equal to value1, but is value2"
    }
]

4.Mock.toJSONSchema(template)

Mock.jsスタイルのデータテンプレートテンプレートをJSONスキーマに変換します。

5.Mock.setup()

Mock.setup( settings ) Ajaxリクエストをインターセプトするときの動作を設定します。サポートされている構成項目は次のとおりです。 タイムアウト。

  1. パラメータの意味とデフォルト値
    設定が必要です。構成アイテムのコレクション。
    タイムアウトはオプションです。
    インターセプトされた Ajax リクエストの応答時間をミリ秒単位で指定します。値は、応答コンテンツが 400 ミリ秒後に返されることを意味する 400 などの正の整数にすることもできます。また、応答が返されることを意味する「200-600」などのハイフン「-」スタイルの文字列にすることもできます。時間は 200 ~ 600 ミリ秒です。デフォルト値は「10-100」です。

    Mock.setup({
    timeout: 400
    })
    Mock.setup({
    timeout: '200-600'
    })

    現在、インターフェイス Mock.setup(settings) は Ajax リクエストの構成にのみ使用されます将来的には、モックの他の動作を設定するために使用される可能性があります。

以上がmockjs の共通メソッドの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。