2

jQuery Form pluginを使用して ExpressionEngine 登録フォームに Ajax を追加しようとしています。フォーム エラーのほとんどはProfile:Editで処理され、JSON で返されます。これらのエラーの解析に大きな問題はありませんでした。Profile:Edit で処理されない唯一のエラーは、誰かがまだ「保留中」の電子メール アドレスで再登録しようとした場合です。そのために、標準の EE エラー テンプレートを HTML で取得します。

私がやりたいのは、jQuery$.each()ループをセットアップして、エラー リスト項目を出力することです。しかし、HTML を解析しようとすると、コンソールに奇妙なデータが表示されます。本当に単純な jQuery 関数でさえ、私の期待どおりには機能しません。たとえば、次のコードでは、#contentdivのコンテンツが返されることを期待しています。

$('.myForm').ajaxForm({
    success: function(data){
        var theContent = data.find('#content');
        console.log(theContent);
    }
});

しかし、私はコンソールでこれを取得します:

Uncaught TypeError: Object
<!-- Full HTML of Error Template -->
has no method 'find' 

.filter()の代わりに使用すると、同じことが起こり.find()ます。

data次のように、セレクター構文でラップすると:

$('.myForm').ajaxForm({
    success: function(data){
        var theContent = $(data).find('#content');
        console.log(theContent);
    }
});

コンソールでこれを取得します:

[prevObject: e.fn.e.init[9], context: undefined, selector: "#content"]
    context: undefined
    length: 0
    prevObject: e.fn.e.init[9]
        0: #text
        1: <title>
        2: #text
        3: <meta>
        4: #text
        5: <style>
        6: #text
        7: <div>
        8: #text
        length: 9
    __proto__: Object[0]
    selector: "#content"
    __proto__: Object[0]

これは私が期待したものではなく、どうすればよいか本当にわかりません。

「html」として設定しdataTypeても違いはないようです。

何かご意見は?このことは私を何年も老化させました、それはとてもイライラします.

4

1 に答える 1

4
data.find('#content');

データは jQuery オブジェクトではないため、機能しません。戻ってくる応答はどのように見えますか? 成功時に console.log(data) を実行すると、何が得られますか?

于 2012-11-07T20:36:10.070 に答える