0

div で html ドキュメントを開く方法を知りたくないので、質問は少し誤解を招くかもしれませんが、現在、既に持っている html ファイルを置き換えることができないという問題に直面しているため、質問しましたdivに配置

次のようにajaxを使用して、すでにhtmlファイルをdivに配置しています。

$.ajax({
        url: 'calender.aspx',//this is html.aspx file
        cache: false,
        dataType: "html",
        success: function (data) {
           $(".mainBar").html(data);//mainBar is the div
        }
    });

このファイルはページロード、つまりdocument.ready関数に配置されますが、ここまではすべて問題ありません.....ファイルを置き換えたいときに問題が始まります。ボタンクリックでreplaceFile()と言うjavascript関数を呼び出し、ファイルを置き換えるために同じコードを記述します(もちろんURLを変更します)

このような

function replaceFile()
{
$.ajax({
        url: 'Another.aspx',
        cache: false,
        dataType: "html",
        success: function (data) {
           $(".mainBar").html(data);
        }
    });
}

しかし、これはうまくいきません、助けてください!

4

3 に答える 3

0

ajaxを介してロードしたコンテンツをクリックしようとすると、バインディングが機能していないと思います。onclickしたがって、からのバインディングを変更することをお勧めします

 $("#someButtonId").click(function(){
   replaceFile();
 });

 $(document).on("click","#someButtonId",function(){
   replaceFile();
 });

jQuery onは、現在および将来の要素で機能します。

于 2012-05-24T10:10:25.477 に答える
0

これを Firebug にロードし、ブレークポイントを設定し$(".mainBar").html(data);て、確実に呼び出されるようにすることができます。失敗ハンドラーがないため、成功コードではなく HTTP 失敗コードを実際に受け取っている可能性があります。

また、[ネット] タブでネットワーク トラフィックを調べて、要求/応答がどのように見えるかを確認します。これは、ほとんどの AJAX 呼び出しで実際に何が起こっているかを調べる簡単な方法です。IE9 には、Firefox や Chrome ではなく、IE9 を使用したい場合に同様の開発者ツールがあります。

于 2012-05-24T10:34:46.073 に答える
0

この関数を使用すると、result という名前の要素にページをロードします。

.load( url , data, complete(responseText, textStatus, XMLHttpRequest)] )

 function replaceFile(url) 
 {
   $('#result').load(url, function() {
     alert('Load was performed.');
  });
 }

replaceFile('htmlfile.html');
于 2012-05-24T10:28:08.860 に答える