Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery、ajax和php在不重新加载整个页面的情况下加载站点上的内容_Php_Jquery_Ajax - Fatal编程技术网

使用jquery、ajax和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>

我是ajax和php方面的新手,如果您能帮助我,我将非常感激。鉴于我只懂一点javascript和php,我真的不知道如何解决这个问题,你能帮我吗!我一直在寻找一个补丁,但没有找到任何,希望我的搜索将停止在这里。我会尽力解释清楚的

我想这样:

<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的清晰信息。我不太喜欢这件事。你们都很聪明。语言无法表达我的感激之情