2011-06-03 155 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。