我希望你能帮助我。 我想使用动态调用服务器来获取需要加载到div的内容。
页面底部有一个固定的菜单,当点击标签时调用一个函数并告诉它要更新哪个帧,然后在函数中生成一个XMLHttpRequest(或者在旧IE版本的情况下使用ActiveX等)。 ),使用该请求导航到服务器上需要包含php片段的预定义位置,然后将其设置为相应输出节的innerHTML。
我还想在函数外部跟踪已经加载了哪些页面的数组,这样它就不会因为用户第二次点击链接而再次加载页面。
HTML:
<div id="FixedMenu">
<input type="radio" name="radio-set" checked="checked" id="main"/>
<a href="#1">Main</a>
<input type="radio" name="radio-set" id="2nd"/>
<a href="#2">2nd</a>
<input type="radio" name="radio-set" id="3rd"/>
<a href="#3">3rd</a>
<input type="radio" name="radio-set" id="4th"/>
<a href="#4">4th</a>
<input type="radio" name="radio-set" id="4th"/>
<a href="#5">4th</a>
</div>
<div class="scroll">
<section class="main">
<!-- loads the main context. -->
</section>
<section id="2nd" >
<!-- this section should load the php file only when the button is clicked. -->
</section>
<!-- section 3rd - 5th... -->
</div>
JAVASCRIPT
<script>
$(document).ready(function(){
$("#2").click(function(){
$("#2nd").load('MyURL');
});
});
</script>
我是否有机会将php文件放在同一个文件夹中,而不是将该函数指向网址?
答案 0 :(得分:0)
你应该可以这样做:
$("#2nd").load('/path/to/my/php/page/here');
你试过吗
答案 1 :(得分:0)
根据this documentation,您似乎可以。它仍然是一个URL,因为jQuery仍然是一个AJAX请求来获取给定的资源。请记住,您需要这样做,因为您的PHP服务器确实需要解析文件以便像PHP一样运行。
$('.content').load('dynamic_content.php');
回应海报的评论:
特别注意文档中有关加载页面片段的部分。
$( "#result" ).load( "ajax/test.html #container" );
尽管PHP仍然需要解析整个请求的脚本,但您只能使用这种语法呈现它的特定部分,这可能会有助于加快速度。
另一个想法可能不是指向整页,而是指向将返回您正在寻找的数据的API端点。这可以避免整页的额外逻辑和/或返回JSON
数据,以便更轻松地进行JS工作。
答案 2 :(得分:0)
你尝试的是正确的方法。
$("#2nd").load('MyURL');
'MyUrl'
应包含相对于当前文件的php文件链接。
如果您要缓存内容,只需使用名为load
的{{1}}的第二个参数即可保存您的内容。