コードは 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 スニペットである必要があります。