2011-07-28 46 views
0

在生成HTML到瀏覽器之前,是否有可能通過Php從外部js獲取cookie?在生成HTML輸出之前從PHP中的外部JavaScript獲取cookie

喜歡的東西

<? 

    //Get if i have some cookie information 
    if($_COOKIE["js_app"]) 
      $cookie_js = $_COOKIE["js_app"]; 

    //now, talk with some app.js 
    if($cookie_js) 
     $cookie = some_function(target = 'some_domanin/app.js',$cookie_js); 
    else 
     $cookie = some_function(target = 'some_domanin/app.js'); 

    $_COOKIE["js_app"] = $cookie; 

    //now i can generate the HTML output. 

    .... 


    ?> 
+0

Javascript在瀏覽器中設置cookie。對於每個新請求,瀏覽器都會將cookie傳遞給服務器,以便PHP可以讀取它。然而,你的代碼直接調用一些JS(如何?),而不是瀏覽器,所以我不知道你在找什麼。 – hakre

+0

@hakre當然,我知道這很奇怪,我不知道如何。我想知道是否可能加載JavaScript以某種方式與PHP。 – alesdario

+0

你想在PHP代碼中執行javascript代碼? – hakre

回答

1

因爲JavaScript的永遠不會被執行這是不可能的。您的some_function(假設它使用cURL發出請求並傳遞cookie)只會收到JavaScript代碼(如在瀏覽器中查看javascript源代碼時發生的情況)。

當瀏覽器加載JS時,瀏覽器的javascript解釋器會處理解析並執行javascript。

編輯:嗯...... google搜索 「PHP JavaScript解釋」 導致http://j4p5.sourceforge.net/index.php。以前從未使用它,可能永遠不會,但如果你不需要與用戶端的事物互動,那可能會幫助你。

1

您正在尋找一種使用cookie發送請求的方式,並使用PHP從響應中獲取cookie,對吧?我認爲PEAR HTTP_Request是你正在尋找的,儘管你必須將它作爲一個包安裝在你的服務器上。

如果這不是一個選項,我想你將不得不使用socketsHTTP requests

UPDATE:如果您使用Javascript設置cookie,則必須解析javascript - 不是真正的選項。這些功能僅在服務器端設置cookie時才起作用。

+0

我不需要使用javascript設置cookie。我只需要獲取cookie信息和(以防)獲得一些返回值。只有這樣。不執行。 - **更新**:_return value_是不可能的。 – alesdario

相關問題