1

以下は、サーバー上の URL にアクセスして html 応答を取得するコード スニペットです。Firefox デバッガー内で応答を確認できますが、div タグには表示されません。

$.ajax({
    url: url,
    dataType: 'html',
    data: '',
    type: 'POST',
    success: function(data) {
        //in firefox debugger i can see complete html response inside data 
        $('#displayContent').html(data); // but here, it does not  
        // append the html inside div displayContent. Instead it makes 
        // the current page blank
    }
});​

これは、「 $ が定義されていません」というエラーが原因で発生しているようです (Firefox デバッガーで表示されます)。これは、以下の JavaScript ファイルが含まれているために発生しています。このファイルをコメントアウトすると、Firefox デバッガーでこのエラーが発生せず、ページが正しく表示されるためです。しかし、テキストリッチエディターに必要なので、このファイルをコメントアウトすることはできません。同じ tiny_mce.js が他の jsp ファイルで動作しているのに、なぜこのエラーが発生するのかわかりませんか? ajaxを介してhtmlコンテンツをロードすることとこれとの関係はありますか?

 <script type="text/javascript" src='<s:url value="/script/tinymce/jscripts/tiny_mce/tiny_mce.js"/>'></script> 
4

2 に答える 2

1

jQuery には noConflict モードがあり、jQuery 関数を呼び出すために別のショートカットを使用し、他のフレームワークのために「$」を残すことができます。

http://api.jquery.com/jQuery.noConflict/

于 2012-08-27T17:15:50.797 に答える
0

まず最初にプロジェクトに jquery を含め、次にこのように tinymce を含めます。

<script type="text/javascript" src="/script/tinymce/jscripts/tiny_mce/tiny_mce.js"></script> 
于 2012-08-28T05:50:49.297 に答える