2

コードは JQuery のバージョンだけを変更していません。ajax 呼び出しの簡略化されたバージョンは次のとおりです。

   $.ajax(
    {
        type: 'GET',
        url: MapPath($(this).attr('path')),
        cache: false,
        data: '{}',
        dataType: 'html',
        success: function (result) {
            console.log(result);
            if ($(result).filter('#feedback').length > 0) {
                $('#center').children(':first').before($(result).filter('#feedback').outerHTML());
            }
            else {
                $('#feedback').remove();
                $('#dialog').html(result);
                $('#dialog').dialog('option', 'title', 'Edit Mailbox');
                $('#dialog').dialog('open');
            }
        }
    });

if ステートメントの直前に、結果をログに記録します。適切にフォーマットされた HTML スニペットであることが期待どおりに表示されます。子要素を持つ DIV が含まれていることを意味するスニペット。if ステートメントでセレクターを使用すると、エラーが発生します。

throw Error("Syntax error, unrecognized expression:

コンソールを使用して結果の内容を表示できますが、セレクターを試すとエラーが発生します。次のように使用すると、エラーが発生することさえあります。

$(result)

ただし、結果を変更して前<html><body>に追加し</body></html>て追加すると、エラーは発生しません。これを壊すためにJQueryを変更したのは何ですか?どうすれば回避できますか? ページのコンテナに値を設定しているため、結果は HTML スニペットである必要があります。

4

1 に答える 1