用AJAX传递几个值?

时间:2011-06-03 13:20:52

标签: php jquery ajax

这不起作用:

$.ajax({url: "PStoreZoomArea.php", type: "get", data: {"mapza": mapZoomArea, "mapc": mapCenter, "mapz": mapZoom}})

PHP文件中的代码:

$_SESSION['mapZoomArea'] = (isset($_GET['mapza']) ? $_GET['mapza'] : '1');
$_SESSION['mapCenter'] = (isset($_GET['mapc']) ? $_GET['mapc'] : '(55.67893946343211, 12.568359375)');
$_SESSION['mapZoom'] = (isset($_GET['mapz']) ? $_GET['mapz'] : '11');

如果我只发送一个值,它可以正常工作,但不会发送多个值。我还测试了为每个值使用AJAX调用,但也没有工作。可能有什么不对?

2 个答案:

答案 0 :(得分:2)

如果您正在使用GET,请将您的ajax块更改为:

$.ajax({
  url: "PStoreZoomArea.php", 
  type: "GET",
  dataType: "text",
  data: "mapza=" + mapZoomArea + "&mapc=" + mapCenter + "&mapz=" + mapZoom
}); 

查看JQuery关于 .ajax

的官方文档

http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:0)

$.ajax({
 url: "PStoreZoomArea.php", 
 type: "GET", 
 data: {"mapza": mapZoomArea, 
  "mapc": mapCenter, 
  "mapz": mapZoom
 }
});

并且你的php代码需要是你已经拥有的或者代替GET使用REQUEST也在firebugs控制台中查看请求是什么样的,以确保它命中正确的php脚本并显示所有参数

$_SESSION['mapZoomArea'] = (isset($_REQUEST['mapza']) ? $_REQUEST['mapza'] : '1');
$_SESSION['mapCenter'] = (isset($_REQUEST['mapc']) ? $_REQUEST['mapc'] : '(55.67893946343211, 12.568359375)');
$_SESSION['mapZoom'] = (isset($_REQUEST['mapz']) ? $_REQUEST['mapz'] : '11');