0

ボタンをクリックすると、jsonp 呼び出しが行われます。

    function clickHandler(e) {
            e.preventDefault();
            var url = "some.url.with?params";
            $http.jsonp(url).success(function () {$scope.success();})
                            .error(function () {$scope.failure();});
        }

テスト:

$httpBackend.expectJSONP(this.url + '&' + $.param(this.params)).respond({status: 200});

$('button').click();

$rootScope.$digest(); // this was suggested in few answers, doesn't work for me though

$httpBackend.flush();

しかし、No pending requests to flush failure を取得し続けます。

JSONP 呼び出しの場合に行う必要がある別のことはありますか。他のどこでも、この形式は機能します。

PS: はい、電話をかけます (多くの質問、人々は実際に電話をかけたり、イベントをトリガーしたアクションをトリガーしたりします)。少なくとも、コードでリクエストを行った行にコードがヒットしているのがわかります。

4

2 に答える 2

0

私のテストは私のスイートの以前のテストの影響を受けていたので、以前のテストから得られた値はほとんどなく、私が主張したものとは異なりました。したがって、リクエストは一致しませんでした。それらを修正しました。今すぐ動作します。ご迷惑おかけして申し訳ありません。

于 2015-08-22T11:43:23.697 に答える