1

私は増幅.jsを使用するこのコードを持っています:

amplify.request.define('data', 'ajax', {
        url: "WebService.asmx/HelloWorld",
        datatype: "json",
        type: "POST"
    });

amplify.request({
        resourceId: 'data',
        success: function(p1, p2, p3) {
            debugger;
        },
        error: function(p1, p2, p3) {
            debugger;
        }
    });

問題は、サーバーがエラーを報告し、エラーコールバックで、p1がnull、p2が「エラー」、p3が未定義であるということです。

同様のjQuery.ajaxは、これらのパラメーターを正しく入力します。

$.ajax({
        type: "POST",
        url: "WebService.asmx/HelloWorld",
        success: function(p1, p2, p3) {
            debugger;
        },
        error: function(p1, p2, p3) {
            debugger;
        }
    });

これを機能させるためのAmplify.js構成がありませんか?

4

2 に答える 2

1

このリンクをたどる

アンプリファイ サポート グループ

エラー本文の解析はデフォルトではサポートされていないようです。これには独自のデコーダーを作成する必要があります。

于 2012-10-29T14:09:58.263 に答える
0

デフォルトでは、増幅は、独自のものに置き換えることができる Jsend デコーダーを使用しています。応答本文の JSON オブジェクトを成功とエラーの両方のコールバックに渡す単純なデコーダを次に示します。

amplify.request.decoders._default = function( data, status, ampXHR, success, error ) {

    if (status === "success") {
        success(data);
    } else {
        error(JSON.parse(ampXHR.responseText));
    }

}

PS。それを行う前に、jsend 規則に合わせて API 応答を調整することを検討してください。詳細については、http://labs.omniti.com/labs/jsend を参照してください。

于 2014-09-08T12:47:45.180 に答える