0

这个问题可能有点误导,因为我不想知道如何在 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()编写相同的代码来替换文件(当然要更改 url)

像这样

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

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

4

3 回答 3

0

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

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

于 2012-05-24T10:34:46.073 回答
0

我猜当您尝试单击通过 ajax 加载的内容时,您的绑定不起作用。所以你可能想改变onclickfrom的绑定

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

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

jQuery on 适用于当前和未来的元素。

于 2012-05-24T10:10:25.477 回答
0

使用此功能,您会将页面加载到名为 result 的元素中

.load(网址,数据,完成(responseText,textStatus,XMLHttpRequest)])

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

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