2014-01-12 33 views
-1

这里是我的html代码:如何返回变量相同的PHP页面用jQuery

<a href="#" onclick id="Ana"> Apasa texul 1</a> 
<p><?php if(isset($_POST['name']))echo $_POST['name'];else echo 'rusu';?></p> 

这里是我的jQuery代码:

$('#Ana').click(function(){ 
    var name = $(this).attr('id'); 
    $.ajax({ 
     type: "POST", 
     url: "index.php", 
     data: { 
      name:name 
     }, 
     success:function(){ 

     } 
    }) 
}); 

我想显示Ana我点击Apasa texul 1后,但它从不工作。

回答

1

关于你的PHP,你必须这样做(放在页面顶部此代码):

<?php 
    if(isset($_POST['name'])) 
    { 
    echo $_POST['name']; 
    exit; 
    } 
?> 

在JS:

$('#Ana').click(function() 
{ 
    var name = $(this).attr('id'); 
    $.ajax( 
       { 
        type: "POST", 
        url: "index.php", 
        cache: false, 
        data: {'name':name}, 
        dataType: 'text', 
        success:function(result) 
        { 
         alert(result); 
        } 
       } 
      ) 
}); 

警报会告诉你通过PHP的呼应价值。从那里做你喜欢...像$('p').html(result);

因为你正在做一个ajax调用,你不能依靠你写的内联代码,因为该页面没有被完全刷新。该代码在您第一次加载页面时执行,但因为发生这种情况时,您没有通过POST(通常)在初始语句中传递参数,所以始终执行“else”。

如果不执行“退出”,则调用ajax时;在我上面的代码中,您会收到结果中的整个页面。这就是为什么代码必须位于页面的顶部,并且必须在之后调用一个退出。

+0

即使我执行“退出”我仍然收到整个页面:( –

+0

尝试添加dataType:“文本”的ajax调用 –

+0

thx求助,但我仍然接受整个页面 –

相关问题