2014-01-12 59 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求助,但我仍然接受整個頁面 –

相關問題