我想在单击图像时实现这一点,在这个图像所在的div中,加载了另一个.html的其他内容的div,但是我无法完成它。
如果我这样做,以下,它完美地运作:
$('#windows_link').click(function(){
$('#apps_container').html("Hi!");
});
但如果我做以下情况,它就不起作用;它实际上没有做任何事情:
$('#windows_link').click(function(){
$('#apps_container').load('windows_apps.html #apps_container');
});
请帮忙吗?
提前多多感谢!
答案 0 :(得分:3)
当您在本地时,任何其他HTML路径在某些浏览器中被视为另一个域(Chrome位于列表中)。这意味着.load()
会阻止您尝试的任何AJAX请求(same origin policy下面的内容)。
你所拥有的东西可能会正常工作......只是不在本地,在Chrome中。
您可以通过在Firefox等其他浏览器中进行测试,或通过启动chrome with a command line switch来禁用此安全功能(仅进行测试!,之后将其关闭)来验证这一点:
chrome.exe --disable-web-security
答案 1 :(得分:0)
如果第一次尝试正常,我认为问题在这里
.load('windows_apps.html #apps_container');
当您点击链接时,您是否在firebug或调试控制台的.net面板中看到了一个电话(ajax调用是否成功完成)?
windows_apps.html是否在调用它的页面脚本的同一文件夹中?
在该页面中是否有一个名为apps_container的div?