如何将Jquery变量传递给php变量?

时间:2011-12-19 06:44:32

标签: php jquery

我想从stime jquery字符串变量中提取时间“10:30”

并在PHP变量中传输值“10:30”,如此格式“10,30”

<script>

var stime = 'Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)';

<?php    
  $s = "<script>document.write(stime);</script>";    
  $e = "<script>document.write(etime);</script>";    
  $stime = substr($s,15,6);
 //substr_replace(string,replacement,start,length) 
  $convert_stime = substr_replace($stime,", ",3,1);
?>    
</script>

/**
 Output Will Be
 --------------
 Time: 10:30
 Converted Time: 10, 30
***/

有办法处理吗?帮助我,任何建议表示赞赏。谢谢!

5 个答案:

答案 0 :(得分:4)

JQuery是Javascript,在客户端工作。 PHP是服务器端的。您需要执行某种类型的回发以将该数据发送到服务器。当客户端已经呈现页面时,无法调用PHP。

答案 1 :(得分:1)

不可能从上面的代码。尝试使用ajax。

Javascript是客户端。 PHP是服务器端。

您可以将php变量传递给JavaScript(如上所述) 但除非你使用ajax或类似的东西

,否则无法反转

答案 2 :(得分:1)

Javascript(以及jQuery)在客户端的浏览器在加载页面时遇到它时才会执行。在任何代码到达客户端之前,PHP都会在服务器端发生。将Javascript变量传递给PHP的唯一方法是通过GET或POST请求(这可以通过AJAX或同步页面加载)。

例如,您可以将JS变量值传递给查询字符串,以存储在PHP的$ _GET变量中:

//Javascript loads the page with variable values in the querystring
var firstVar = 'first_value';
var secondVar = 'second_value';
location.href = 'index.php?firstvar='+firstVar+'&secondvar='+secondVar;

//at index.php?firstvar=first_value&secondvar=second_value, we parse items from the $_GET variable into discrete PHP variables
$firstVar = $_GET['firstvar'];
$secondVar = $_GET['secondvar'];

答案 3 :(得分:1)

您似乎对Javascript和PHP存在根本的困惑。

PHP是服务器端编程语言。它正在服务器机器上解释和执行,输出通常通过HTTP传递给用户。

Javascript是客户端脚本语言,使用浏览器作为执行环境在用户机器上执行。

您想要实现的目标,可以通过HTTP POST方法(或GET - 取决于语义)从客户端代码(javascript)向服务器发送HTTPRequest来完成,您可以使用PHP解析它。您可以学习更多关于AJAX,HTTP协议,javascript和客户端 - 服务器架构基础知识等主题的内容。干杯队友

答案 4 :(得分:1)

你不能以这种方式'将'jquery变量传递给php.JQuery不会在你的服务器上运行,而是在客户端运行。在你的代码中,`$ s =“document.write(stime);”`那部分在``标签将被视为字符串。

做你想做的事情的另一种方法是在javascript中执行所有格式化工作或在PHP中执行它,或者你也可以通过ajax传递时间变量并在PHP中格式化然后在ajax中获取它。

的javascript:

var stime='Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)';
var etime=stime.substr(15,6);
var res=etime.replace(":",",");

ajax版本(如果必须一起使用这两种方法): 客户方:

var stime='Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)';
$.ajax({
 url:"/your_php_script",
 data:{"stime":stime},
 success:funciton(data){
  alert(data);
}
})

php方面:

  $stime=$_GET['stime'];
  $stime = substr($s,15,6);
  $convert_stime = substr_replace($stime,", ",3,1);
  echo $convert_stime;