如何在和html div中打开一个html页面?

时间:2012-05-24 10:05:53

标签: javascript jquery html ajax

这个问题可能有点误导,因为我不想知道如何在div中打开一个html文档,但是我问这个问题,因为我目前遇到的问题是我无法替换html文件我已经放入了div

我已经使用像这样的ajax在div中放置了一个html文件:

$.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函数,直到这里一切都很好.....我的麻烦开始时我想要替换文件,我做的是调用一个javascript函数说replaceFile()on按钮单击并写入相同的代码来替换文件(当然更改URL)

像这样

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

但这不起作用,请帮帮我!

3 个答案:

答案 0 :(得分:0)

当您尝试单击通过ajax加载的内容时,我猜您的绑定无效。因此,您可能希望更改onclick

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

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

jQuery用于处理当前和未来的元素。

答案 1 :(得分:0)

使用此功能,您将页面加载到名为result

的元素中

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

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

replaceFile('htmlfile.html');

答案 2 :(得分:0)

您可以在Firebug中加载它并在$(".mainBar").html(data);设置一个断点以确保它被调用。您没有故障处理程序,因此它可能实际上是接收HTTP故障代码,而不是成功代码。

我还会查看Net选项卡下的网络流量,看看请求/响应的样子。这是一种简单的方法,可以找出大多数AJAX调用的实际情况。 IE9有类似的开发者工具,如果你想使用它而不是Firefox或Chrome。