2011-06-03 158 views
1

可能重複:
Passing javascript variable to PHP可能將jQuery和AJAX的變量傳遞給PHP頁面和會話變量?

我不知道是否有可能從一個jQuery腳本到PHP頁面傳遞變量,把變量到一個會話變量如下:

$_SESSION['mapZoomArea'] = (isset($_GET['mapza']) ? $_GET['mapza'] : "";

我不知道如何將變量和url傳遞給服務器?請提供一些幫助!

謝謝!

+0

你試過了什麼?你知道你必須使用Ajax,所以我假設你已經看過'jQuery.ajax'(http://api.jquery.com/jQuery.ajax/)。你卡在哪裏? – 2011-06-03 09:22:41

+0

可能的重複項:[http://stackoverflow.com/questions/5810204/passing-js-variable-to-php-variable](http://stackoverflow.com/questions/5810204/passing-js-variable-to- PHP變量),[http://stackoverflow.com/questions/6130662/passing-javascript-variable-to-php-using-ajax](http://stackoverflow.com/questions/6130662/passing-javascript-variable -to-PHP-使用的Ajax)。 – 2011-06-03 09:25:23

+0

所有這些的重複:http://stackoverflow.com/search?q=jquery+send+variable+php – 2011-06-03 09:32:29

回答

1

如果你想要專門的服務來寫這個值到會話中,你可能應該使它成爲一個POST請求(GET也可以,但GET請求應該用於數據檢索,而不是寫入服務器)。

因此,只需創建一個新的PHP頁面,讓我們說「storezoomarea.php」,並擁有jQuery的做一個Ajax POST請求到該頁面:

$.ajax({url: "storezoomarea.php", type: "post", data: {"mapza": mapza}}) 

然後,在服務器端,您可以檢索它來自_POST變量:

$_SESSION['mapZoomArea'] = (isset($_POST['mapza']) ? $_POST['mapza'] : ""; 
+0

謝謝!是否有可能傳遞如下幾個值:$ .ajax({url:「PStoreZoomArea.php」,type:「get」,data:{「mapza」:mapZoomArea,「mapc」:mapCenter,「mapz」 :mapZoom}})但它不工作!? – 2011-06-03 12:09:23

+0

是的,這應該工作。我不知道爲什麼它不適合你。但請注意,正如我所說的,您應該使用type:「post」而不是type:「get」(否則PHP將不會使它們在$ _POST變量中可用)。 – mgiuca 2011-06-05 09:59:00

0

嗨,你應該使用AJAX。既然你有JQuery可用,它非常簡單。

提供更多的閱讀這裏http://api.jquery.com/jQuery.ajax/

例子:

$.ajax({ 
    type: "GET", 
    url: "some.php", 
    data: ({'mapza' : yourvariable}), 
    success: function(msg){ 
    alert("Data Saved: " + msg); 
    } 
}); 

HTH :)

+0

我會在字典中傳遞數據('{「mapza」:yourvariable}'),而不是手動構建一個字符串('「mapza =」+ yourvariable「')。如果你有特殊字符需要進行URL編碼,後一種方法會讓你陷入麻煩。(是的,你可以使用'encodeURIComponent',但是如果你打算用手做事情,爲什麼還要用jQuery呢?) – mgiuca 2011-06-03 09:27:23

+0

同意:)我已經編輯了答案 – 2011-06-03 09:31:08

0

不壞。確保你先撥打session_start();。將該變量作爲查詢字符串傳遞,'http://whatever.com/?mapza=yourvariablevaluehere'。你可以用jQuery做到這一點:

$.ajax({ 
    url : 'urlhere', 
    data : { mapza : 'your variable value here' } 
}); 
0

好的。

是的,您可以將該var傳遞給php代碼,如果您使用jquery($ .Ajax(無論))進行AJAX調用,並且當然在使用AJAX調用的文件中更改會話var。