使用jquery、ajax和php在不重新加载整个页面的情况下加载站点上的内容
我是ajax和php方面的新手,如果您能帮助我,我将非常感激。鉴于我只懂一点javascript和php,我真的不知道如何解决这个问题,你能帮我吗!我一直在寻找一个补丁,但没有找到任何,希望我的搜索将停止在这里。我会尽力解释清楚的 我想这样:使用jquery、ajax和php在不重新加载整个页面的情况下加载站点上的内容,php,jquery,ajax,Php,Jquery,Ajax,我是ajax和php方面的新手,如果您能帮助我,我将非常感激。鉴于我只懂一点javascript和php,我真的不知道如何解决这个问题,你能帮我吗!我一直在寻找一个补丁,但没有找到任何,希望我的搜索将停止在这里。我会尽力解释清楚的 我想这样: <a href="#" onClick="return false" onmousedown="javascript:swapContent('con1');">load html page called ducks</a>
<a href="#" onClick="return false" onmousedown="javascript:swapContent('con1');">load html page called ducks</a>
将名为ducks.html的html页面加载到myDiv区域
我也希望当我点击这个:
<a href="#" onClick="return false" onmousedown="javascript:swapContent('con2');">load a list of html links</a>
我希望它加载一个带有链接列表的html页面,当单击该页面时,将加载到myDiv区域,而不重新加载整个页面
最后,我想设置myphpscript php文件。要加载包含链接列表的页面,这些链接将显示在myDiv区域中,当我单击其中一个链接时,它将同样加载到myDiv区域中
这是我的密码
<!-- This is your PHP script... myphpscript.php -->
<?php
$contentVar = $_POST['contentVar'];
if ($contentVar == "con1") {
include 'con2.html';
} else if ($contentVar == "con2") {
echo "<a href='con2'>View</a>";
} else if ($contentVar == "con3") {
echo "Content for third click is now loaded. Any <strong>HTML</strong> or text you wish.";
}
?>
<!-- This is the rest of my code -->
<html>
<head>
<script type="text/javascript" src="jQuery-1.5.1.js"></script>
<script language="JavaScript" type="text/javascript">
<!--
function swapContent(cv) {
$("#myDiv").html('<img src="loader.gif"/>').show();
var url = "myphpscript.php";
$.post(url, {contentVar: cv} ,function(data) {
$("#myDiv").html(data).show();
});
}
//-->
</script>
<style type="text/css">
#myDiv {
width:200px; height:150px; padding:12px;
border:#666 1px solid; background-color:#FAEEC5;
font-size:18px;
}
</style>
</head>
<body>
<a href="#" onClick="return false"
onmousedown="javascript:swapContent('con1');">Content1</a>
<a href="#" onClick="return false"
onmousedown="javascript:swapContent('con2');">Content2</a>
<a href="#" onClick="return false"
onmousedown="javascript:swapContent('con3');">Content3</a>
<div id="myDiv">My default content for this page element when the page initially loads</div>
</body>
</html>
#myDiv{
宽度:200px;高度:150px;填充:12px;
边框:#666 1px纯色;背景色:#FAEEC5;
字号:18px;
}
最初加载页面时此页面元素的默认内容
我觉得,如果您希望在单击某个内容时加载外部页面,则需要执行ajax GET或POST请求,然后将结果打印到div:
如果您只想将div的内容更改为其他文本,可以使用类似jQuery.html的内容:
$(“#idForLink”)。单击(函数(){
var htmlStr=“要显示的新文本”;
$('#myDiv').text(htmlStr);
});
在不使用jQuery的情况下,您上面的示例向echo
contentVar
发送self POST,这将始终刷新页面。我觉得,如果您希望在单击某个内容时加载外部页面,则需要执行ajax GET或POST请求,然后将结果打印到div:
如果您只想将div的内容更改为其他文本,可以使用类似jQuery.html的内容:
$(“#idForLink”)。单击(函数(){
var htmlStr=“要显示的新文本”;
$('#myDiv').text(htmlStr);
});
在不使用jQuery的情况下,您上面的示例将向echo
contentVar
发送自我帖子,这将始终刷新页面。如果您只是从另一个文件中获取HTML,我将使用load方法,因为它快速而简单:
$(document).ready(function(){
$('#myDiv').load("someFile.html");
});
对于更广泛的请求,您可以使用Post和Get。它们允许您通过URL请求传递数据,以影响返回的结果。显然,您请求的URL需要是PHP/ASP,在这种情况下需要处理请求。如果您只是从另一个文件中获取HTML,我将使用load方法,因为它快速且简单:
$(document).ready(function(){
$('#myDiv').load("someFile.html");
});
对于更广泛的请求,您可以使用Post和Get。它们允许您通过URL请求传递数据,以影响返回的结果。显然,您请求的URL需要是PHP/ASP,并在这种情况下处理请求。JAVASCRIPT:
<script type="text/javascript">
$(document).ready(function(){
// this is your mouse event (click) listener
$('.destination_div').on('click','a',function() {
var url = $(this).attr("href");
$('.destination_div').load(url);
return false;
});
});
</script>
$(文档).ready(函数(){
//这是您的鼠标事件(单击)侦听器
$('.destination_div')。在('click','a',function()上{
var url=$(this.attr(“href”);
$('.destination_div').load(url);
返回false;
});
});
使HTML锚定变得简单,不要包含内联javascript,因为on(“单击”)已经处理了它
HTML:
JAVASCRIPT:
<script type="text/javascript">
$(document).ready(function(){
// this is your mouse event (click) listener
$('.destination_div').on('click','a',function() {
var url = $(this).attr("href");
$('.destination_div').load(url);
return false;
});
});
</script>
$(文档).ready(函数(){
//这是您的鼠标事件(单击)侦听器
$('.destination_div')。在('click','a',function()上{
var url=$(this.attr(“href”);
$('.destination_div').load(url);
返回false;
});
});
使HTML锚定变得简单,不要包含内联javascript,因为on(“单击”)已经处理了它
HTML:
查看此提琴以获得问题的jquery+css
解决方案[无需PHP]:查看此提琴以获得问题的jquery+css
解决方案[无需PHP]:hmmm。。。你需要在这里做很多工作。为什么新程序员总是想从玩电锯一样的编程开始?@Blazemonger,因为他们太懒了,不想学习。所以他们想要填鸭式的方法,他们不在乎他们是否理解代码,他们想要一个工作代码,完成。我一直在学习,只是没有取得多大进展。实际上你可以使用jquery和css来处理这项工作。不需要php.hmmm。。。你需要在这里做很多工作。为什么新程序员总是想从玩电锯一样的编程开始?@Blazemonger,因为他们太懒了,不想学习。所以他们想要填鸭式的方法,他们不在乎他们是否理解代码,他们想要一个工作代码,完成。我一直在学习,只是没有取得多大进展。实际上你可以使用jquery和css来处理这项工作。不需要php。我会尝试一下,然后告诉你结论谢谢你帮了我的忙我真的很感激…我想要完成的是这样的:?>但是当{echo”“}链接加载到myDiv区域并单击时,它会加载到myDiv区域的一个新页面上。谢谢你给我一些关于John的清晰信息。我不太喜欢这件事。你们都很聪明。语言无法表达我的感激之情。我会尝试一下,然后告诉你判决结果。谢谢你帮了我的忙。我真的很感激……我希望完成的事情是这样的:?>但是当{echo”“}链接在myDiv区域加载,点击后会在新页面上从myDiv区域加载。谢谢你给我一些关于John的清晰信息。我不太喜欢这件事。你们都很聪明。语言无法表达我的感激之情