2013-05-31 13 views
1

我有名字load.php一个网页,这个内容:jQuery的负载性能表现内容两个时间

<script> 
     $(document).ready(function() { 

      $("a").click(function() {   
       $("#mehdi").load(this.href, function(){ 
       }); 
       return false; 
      }); 
     }); 

    </script> 

<a href="load.php?Name=mehdi"> click for load ajax</a> 
<div id="mehdi"> 

<?php 
    $db = new grid(); 
    $db->show(); 


    ?> 

当我a tag单击页面岗位dbload.php与此内容:

class grid 
{ 
    function show() 
    { 
     echo"<div id = 'show'>"; 
     if(isset($_GET["Name"])) 
      echo "done"; 
     else 
      echo "Not done"; 
      echo "</div>"; 
    } 
} 

当我看到与浏览器的页面是这样的:

当我点击a tag它是这样的: enter image description here

enter image description here

我的问题是,第二个链接会自动添加到页面。怎么了?

回答

0

移动<a href="load.php?Name=mehdi"> click for load ajax</a><div id="mehdi">之内。它会被替换这样的话,当你调用load

<script> 
    $(document).ready(function() { 

     $("a").click(function() {   
      $("#mehdi").load(this.href, function(){ 
      }); 
      return false; 
     }); 
    }); 

</script> 

<div id="mehdi"> 
    <a href="load.php?Name=mehdi"> click for load ajax</a> 

<?php 
    $db = new grid(); 
    $db->show(); 
?> 

这将解决您的问题,但你真的应该考虑通过你的Ajax调用加载不同的页面。也许ajax.php。这是因为load.php中的所有内容都会在其内部重新渲染。于是,经过1 AJAX调用此:

<div id="mehdi"> 
    <a href="load.php?Name=mehdi"> click for load ajax</a> 
    not done 
</div> 

将成为嵌套与此:

<div id="mehdi"> 
    <div id="mehdi"> 
    <a href="load.php?Name=mehdi"> click for load ajax</a> 
    not done 
    </div> 
</div> 
0

使用此:

$("a").click(function() { 
e.preventDefault() 
...