2013-03-18 104 views
-1

如果我的JavaScript是這樣的:獲取變量值從JavaScript到PHP

<javascript> 
function myvalue() 
{ 
    var a = 3; 
} 
</javascript> 

如何從功能得到變量a的價值。所以,我可以這樣執行PHP代碼,裏面的東西操作:

<?php 
$b = 1; 
$c = $b + a (variabel a from the function); 
echo $c; // return 3 
?> 

非常感謝您

+0

如果你有經驗與jQuery這應該是一件容易的事。如果沒有,學習JQuery很簡單:) http://api.jquery.com/jQuery.post/ – CoBolt 2013-03-18 07:38:50

回答

5

您可以通過兩種方式來做到這一點。

  1. 將此值分配給隱藏的輸入字段並將其發佈到該PHP頁面。
  2. 使用AJAX發送到PHP頁面。
+0

它似乎不適用#1。我沒有ajax的經驗 – 2013-03-18 08:11:59

+0

@PhilipsTel做一些關於AJAX的搜索。如果你覺得這很困難,那就用第一種方式去吧。 – 2013-03-18 08:16:18

+0

感謝您的建議埃德溫.. 我會 – 2013-03-18 10:21:21

0

你應該送JS variable value通過AJAX調用PHP頁面。 這就是過程的工作原理。

+0

你介意舉個例子嗎? – 2013-03-18 10:23:23

+0

您在jQuery中的ajax函數是:$ .ajax({type:「GET」,url:「test.php」,dataType:「html」,data:{param:JS VAR}},success:function(data){ //數據響應是你從php文件回顯的內容}); ...現在在PHP文件中通過$ _GET [「param」]捕獲JS var值,然後在php中計算並回顯「success」或「fail」。在ajax成功方法中捕捉響應.. – 2013-03-18 10:41:12

0

你必須使用AJAX。

php在服務器上運行,而javascript在cleint瀏覽器中運行。

第一個代碼在服務器上運行,然後它來瀏覽器,所以你不能直接將js變量傳遞給php。你必須創建一個http請求,通過AJAX將它傳遞給服務器。

ref:http://api.jquery.com/jQuery.ajax/ for jquery ajax implementation。

3

這是一種方式通過AJAX

步驟1 從這裏獲取jQuery庫要做到這一點:https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js

步驟2 HTML頁面:

<html> 
<head></head> 
<body> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script> 
<script> 
function myvalue() { 
    var a = 3; 
$.ajax({ 
    url: 'ajax_example.php' 
    cache: false, 
    type: 'GET', 
    data: {var: a}, 
    dataType: 'JSON', 
    beforeSend: function() { alert("About to deploy ajax request"); 
    success: function(response) 
    {  
     console.log(response); 
     if(response.success) { 
       alert(response.var); 
     } else { 
      alert(response.message); 
     } 
    } 
}); 
$(document.ready(function() { 
    myvalue(); 
}); 
<script> 

</body> 
</html> 

步驟3 PHP頁面ajax_example.php

<?php 
header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); 
header('Content-Type: application/json; charset=utf-8'); 
$var = isset($_GET['var']) ? $_GET['var'] : FALSE; 

if($var) 
{ 
    $var = htmlspecialchars($var, ENT_QUOTES, 'UTF-8'); 

    echo json_encode(array("success" => true, "var" => $var, "message" => "Example message")); 
} else { 

    echo json_encode(array("success" => false, "message" => "You need to provide a value")); 
}