这个问题可能有点误导,因为我不想知道如何在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);
}
});
}
但这不起作用,请帮帮我!
答案 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。