将javascript变量传递给php

时间:2012-12-27 23:51:58

标签: php javascript

如果有一个明显的答案(我已经尝试过所有我能想到的事情),那么请原谅我。

我有一个像这样的javascript变量设置:

var imageURL = <?php echo json_encode($imageRows[0]['URL_Path']); ?>;

其中$ imageRows [0]可以是从0到任何值的整数。

我还有另一个变量:

var count = 15

我需要将计数传递给imageURL变量......可以这样做吗?

我猜到了类似的事情:

 var imageURL = <?php echo json_encode($imageRows['count']['URL_Path']); ?>;

 var imageURL = <?php echo json_encode($imageRows[(count)]['URL_Path']); ?>;

等但是没有工作。

由于

编辑: Mike Brant回答。

由于

4 个答案:

答案 0 :(得分:2)

我现在更了解你的问题。看起来你正试图让PHP响应你的Javascript中的变量并回显输出。您可以将计数放入查询字符串(http://server/yourpage.php?count=15),然后将count变量放入您的php中,如下所示:$_GET['count']

编辑:从您的评论中看起来您实际上已将此计数作为PHP变量(从MYSQL返回)。您的困难可能来自PHP对字符串插值的解释。它在[]之后看到$imageRows作为PHP表达式的一部分,并且您似乎想要将count作为javascript变量传递。如果您已经拥有$imageRows[$count] PHP变量,则可以$count。如果您必须将其作为javascript变量,则可以执行var count = <?php echo $count?>;,然后回显所有{$imageRows}的JSON,并使用count在javascript中进行访问。

(以前:为什么不能只使用$count?)

答案 1 :(得分:1)

不是你想到它的方式,但你可以在页面加载时总是执行一个AJAX请求,这将允许你将两个变量作为标准请求参数传递给PHP(或任何Web服务器)。

请参阅jQuery#ajax作为示例。

$.ajax({
  url: 'example.php',
  data: {
    count: count
  },
  success: function(data) {
    // Do something with the data
  }
});

上面是一个非常粗略的例子。

答案 2 :(得分:1)

为什么不只是json_encode()整个$imageRows变量。然后你可以在javascript中免费访问它。像这样:

var image_urls = <?php echo json_encode($imageRows); ?>;
var count = 15;
var the_url_you_want = image_urls[count]['URL_PATH'];

答案 3 :(得分:0)

(编辑,因为你改变了问题,以便我更好地理解它)

PHP无法在浏览器端读取JavaScript变量的值,您必须将其作为POST变量或cookie传递给页面。