2009-11-04 97 views
0

我想調用一個PHP文件,但想將參數傳遞給PHP文件。沒有得到正確的方法,我試圖寫入一個cookie並在PHP文件加載時讀取該cookie。但是這也不起作用。我正在使用以下代碼來編寫和讀取cookie。我只想在這裏測試JavaScript的讀取cookie功能。我知道如何讀取PHP中的cookie值。[PHP/JavaScript]:通過JavaScript代碼調用PHP文件,參數爲

<script> 
    function SetRowInCookie(NewCookieValue) 
    { 
     try 
     { 
      alert(NewCookieValue); 
      document.cookie = 'row_id=' + NewCookieValue; 
      loadCookies();   
     } 
     catch(err) 
     { 
      alert(err.description); 
     } 
    } 

    function loadCookies() { 
    var cr = []; if (document.cookie != '') { 
    var ck = document.cookie.split('; '); 
    for (var i=ck.length - 1; i>= 0; i--) { 
     var cv = ck.split('='); 
     cr[ck[0]]=ck[1]; 
    } 
    } 
     alert(cr['row_id']); 
    } 
</script> 

回答

2

Cookie不是在客戶端和服務器之間傳輸變量的方式。您應該使用get(querystring)或post方法將鍵/變量對附加到請求URL。

jQuery ajax示例;

$.get('http://www.myphpserver.com/script.php?row_id=' + NewCookieValue); 
+0

好主意,但jQuery不包含在上面的標記中;) – 2009-11-04 13:49:02

3

我不知道是什麼在你的代碼(客戶端的PC上運行的),你希望使PHP腳本(運行在服務器上)運行。您需要通過發出某種類型的http請求來調用php(例如get http://yoururl/recheckcookie.php)。使用HTTP請求,客戶端上的JavaScript代碼向Web服務器查詢recheckcookie.php腳本的輸出。這個腳本可以重新檢查cookie,並返回一些/不輸出。

查找XMLHttpRequest或者最好是相應的JQuery來查看如何執行HTTP請求。

1

嗯,我不確定你最終試圖達到什麼樣的效果,但聽起來像使用AJAX可能是你的解決方案。有一個很好的教程here

AJAX基本上允許你調用一個php腳本,傳遞它的變量,然後在你的網頁上使用它的輸出。

2

我想,你不需要餅乾。嘗試使用$ .post,您可以在其中定義將調用哪個網址,例如:

$.post(url, params, callback_function);