Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Jquery变量传递给php变量?_Php_Jquery - Fatal编程技术网

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

如何将Jquery变量传递给php变量?,php,jquery,Php,Jquery,我想从stimejquery字符串变量中提取时间“10:30” 并在PHP变量中传输值“10:30”,格式如下“10,30” var stime='2011年12月17日星期六10:30:00 GMT+0530(印度标准时间)'; /** 输出将是 -------------- 时间:10:30 转换时间:10,30 ***/ 有办法处理吗?帮帮我,任何建议都很感激。谢谢 JQuery是Javascript,在客户端工作。PHP是服务器端的。您需要执行某种类型的回发操作,才能将数据发送到服务

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

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


var stime='2011年12月17日星期六10:30:00 GMT+0530(印度标准时间)';
/**
输出将是
--------------
时间:10:30
转换时间:10,30
***/

有办法处理吗?帮帮我,任何建议都很感激。谢谢

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

根据上述代码,这是不可能的。尝试使用ajax

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

您可以将php变量传递给JavaScript(如上所述) 但是,除非您使用ajax或类似的东西,否则在加载页面时客户端浏览器遇到它之前,Javascript(因此jQuery)不会执行。PHP在任何代码到达客户端之前在服务器端发生。将Javascript变量传递给PHP的唯一方法是通过GET或POST请求(可以通过AJAX或同步页面加载)

例如,您可以将JS变量值传递到querystring中,以存储在PHP的$\u 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'];

您似乎从根本上对Javascript和PHP感到困惑

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

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


您可以通过HTTP POST方法(或GET-取决于语义)将客户端代码(javascript)中的HTTPRequest发送到服务器,然后使用PHP对其进行解析。您可以学习更多关于AJAX、HTTP协议、javascript和客户机-服务器体系结构基础知识的主题。Cheers mate

您不能以这种方式将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;

PHP在服务器上运行,而JS在客户端上运行(从PHP呈现页面之后)。您需要将值从客户端“传递”到服务器端,或者通过表单发布/获取值,或者使用AJAX。顺便说一句:没有任何必要,您可以在javascript中转换时间和操作字符串。在这种情况下,我需要在不重新加载页面的情况下执行此操作,您需要进行一个AJAX调用,将
stime
etime
传递给您的PHP脚本以进行处理并返回到responseText中的页面。而且,老实说,您正在进行的字符串转换(如果这真的是您计划使用此数据的范围)可以完全用Javascript处理。//我想要“10:30”从mysrting中退出并将其格式转换为“10,30”var mystring=“Sat Dec 17 2011 10:30:00 GMT+0530(印度标准时间)”;输出时间:10:30更改格式:1030aala gal keeto sohnya
  $stime=$_GET['stime'];
  $stime = substr($s,15,6);
  $convert_stime = substr_replace($stime,", ",3,1);
  echo $convert_stime;