2013-07-17 59 views
-1

我有一個HTML按鈕,有一個onclick方法,這觸發了一些事情發生與AJAX。然而,通過函數傳遞的變量在php中。下面是代碼:

HTML/PHP

#Do not mind the first forward slash# 
/<button type="submit" 
    name="follow_button" 
    onclick= <?php 
     echo "'follow_alert(" . $pdo . ", " . $_SESSION['user_id'] . ", " . $value['user_id'].");'" 
     ?> 
>Follow 
</button> 

兩個變量$ _SESSION [ 'user_ID的']和$值 'USER_ID']逝去的罰款。我已經嘗試過代碼,它沒有$ pdo,但問題是我需要$ pdo來訪問它在我的PHP函數從我的MySQL表中獲取數據。

這裏是JS。

JS

function follow_alert(pdo, user_id, following_id) { 
    var ajax = ajaxRequest(); 
    ajax.onreadystatechange = function() { 
     if (ajax.readyState === 4) { 
      alert(ajax.responseText); 
     }; 
    }; 
    ajax.open('GET', 'function.php?pdo='+pdo+'&user_id='+user_id+'&following_id='+following_id, true); 
    ajax.send(null); 
}; 

我的問題是:我總是收到「開捕致命錯誤:類PDO的對象無法轉換爲字符串」錯誤。當我在所有其他函數中傳遞$ pdo作爲參數時,它們工作正常。問題似乎是我通過一個字符串傳遞onclick();至少我認爲這是事實。

有什麼想法?我一整個早晨都在爲這件事煩惱!

+0

您需要記住JS在客戶端運行並且PHP在服務器上運行。 – nickb

+0

@nickb嘿你能解釋一下這個陳述的後果嗎?我對PHP和JS非常陌生,甚至更喜歡編程。 –

回答

1

您不能將資源(如PDO實例)傳遞給JavaScript函數。它在HTML呈現時不存在。您需要在JavaScript函數調用的PHP腳本中創建PDO實例。

+0

讓我現在就試試看!我會盡快回復您,非常感謝! –

+0

你對這個網站有這樣的祝福。謝謝你這麼多。繼續做你做的人。將在7分鐘內接受答案! –