2013-12-17 90 views
0

我想將我的JavaScript變量轉換爲php變量。當我單擊鏈接時,我可以得到「1」的值,但是我想用PHP回顯它,或者我想將它存儲在PHP變量中。在同一頁面上使用AJAX將Javascript變量傳遞給PHP變量

這是我的Javascript和PHP代碼在同一頁上。

<?php $userid = 1; ?> 

<a href="#" onclick="sendEmail(<?php echo $userid; ?>)" > Send Mail </a> 

<script type="text/javascript"> 
function sendEmail(userid){ 
    var sendID = userid; 
     $(document).ready(function(){ 
       $.ajax({ 
        type: "POST", 
        url: "ajax.php", 
        data: { toID: sendID }, 
         dataType: 'json', 
         cache: false, 
         success: function(toID){ 
         alert(toID); } 
       }); 
     }); 
} 

<?php 

$userid = $_POST["toID"]; 
echo $userid; 

?></script> 

當我回應它時不顯示。

謝謝。

+1

也許有人應該指出,js運行在客戶端和服務器上的php。 – Hyperboreus

回答

2

您不能這樣做,因爲您的ajax請求轉到另一個請求,並且您當前的php文件無法獲取它。

yourFile.php -> Ajax Request -> yourFile.php 
|        | 
|        |-- here your $_POST['todID'] has the value, but it's other thread 
|-- here your $_POST['toID'] is empty 

更新1:可以使用成功回調,顯示結果或做任何。

success: function(data) { 
    alert(data); //<--- this have the result of your ajax request 
    javaScriptVar = data; 
} 

更新2:如果您需要在顯示形式相同的文件發送電子郵件,你需要把在頭:

<?php 
if(isset($_POST['toID'])) { 
sendmail($_POST['toID'], "subject", "body"); 
} 
?> 
+0

我該怎麼辦? – user3109628

+0

我更新了我的問題 –

+0

如果我將此代碼放在sendEmail.php <?php $ userid = $ _POST [「toID」]; echo $ userid; ?> – user3109628

0

根據你的代碼中傳遞一個用戶ID阿賈克斯要求並獲得另一個用戶標識,做一件事,以實現:

<input type="hidden" name="userid" id="userid" value="<?php echo $userid; ?>"> 
<a href="#" onclick="sendEmail()" > Send Mail </a> 

在你的js代碼:

function sendEmail(){ 
var sendID = $('#userid'); 
    $(document).ready(function(){ 
      $.ajax({ 
       type: "POST", 
       url: "ajax.php", 
       data: { toID: sendID }, 
        dataType: 'json', 
        cache: false, 
        success: function(toID){ 
         //alert(toID); 
         // update the userID 
         sendID(toID); 
        } 
      }); 
    }); 
} 
+0

我的PHP代碼會發生什麼?回聲呢?在ajax.php?如果是的話,我可以把郵件功能放在ajax.php上嗎? – user3109628

+0

@ user3109628你的ajax.php文件在哪裏?對於你使用'$ userid'? –

+0

因爲你使用url:「ajax.php」所以即時通訊想知道什麼是..即時通訊使用$ userid查詢用戶.. – user3109628