2

ID を指定して一連のデータを返す Restful API をモックするために、初めて Mockjax を使用しています。現在、いくつかの項目を含む json ファイルがあり、クエリされた ID のみを返す関数を Mockjax 内 (または必要に応じて) にしたいと考えています。どうすればこれを達成できますか?

現在のコード:

$.mockjax({
    url: "/Api/Cases/{caseId}",
    proxy: "/mocks/cases nuevo.json",
    dataType: 'json',
    responseTime: [500, 800]
});

$.ajax({
    type: 'GET',
    url: '/Api/Cases/',
    data: {caseId: taskId},
    success: function(data){
        //use the returned
        console.log(data);
    }
});

現在のエラー:

GET http://localhost:8080/Api/Cases/?caseId=100 404 (Not Found)
4

2 に答える 2

0

私がやったことは、次のとおりです。関数をそのままにして、次のように$.mockjaxjqueryの関数を使用して、ajaxリクエスト内のデータを操作しました。$.grep

$.ajax({
        type: 'GET',
        url: '/Api/Cases/' + taskId,
        success: function(data){
        //note you have to parse the data as it is received as string
            data = JSON.parse(data);
            var result = $.grep(data, function(e){ return e.caseId ==  taskId; });
            //since i'm expecting only one result, i pull out the result on the 0 index position
            requestedData = result[0];
        }
});

この$.grep()メソッドは必要に応じて配列からアイテムを削除し、残りのすべてのアイテムが提供されたテストに合格するようにします。 Id を指定すると、この場合は 1 つだけです。これが、0 インデックス位置の結果のみを取得した理由です。requestedData = result[0];

**注: ** より適切な解決策は、私が行ったことと @jakerella の答えを組み合わせたものです。なぜなら、彼らのメソッドは mockjacx 関数内で要素検索メソッドを実装しており、私の関数は通常の JSON 応答を想定しているためです。

[{"caseId": 30,"name": "Michael"},{"caseId": 31,"name": "Sara"}]
于 2016-09-12T21:05:55.440 に答える