我已声明 javascript变量,
var myJavascriptVar = 12345;
无法将该值分配给 php 变量;
$myPhpVar = 'myJavascriptVar';
我知道Ajax可能是我的问题的解决方案。 但我不知道如何使用Ajax并解决问题。
<html>
<body>
<script>
var myJavascriptVar = 12345;
<?php $myPhpVar='myJavascriptVar';?>
</script>
<?php echo $myPhpVar; ?>
</body>
</html>
答案 0 :(得分:7)
使用Cookie是我认为更好的解决方案 -
<script> document.cookie = "myJavascriptVar = " + myJavascriptVar </script>
<?php
$myPhpVar= $_COOKIE['myJavascriptVar'];
?>
答案 1 :(得分:1)
PHP
是服务器端语言,JS
是客户端。最好的方法是使用javascript
创建Cookie,然后在PHP
中读取该Cookie
<script type="text/javascript">
document.cookie = "myJavascriptVar =12345";
</script>
<?php
$phpVar = $_COOKIE['myJavascriptVar'];
echo $phpVar;
?>
答案 2 :(得分:1)
$msg = "<script>var n=document.getElementById('fil').val; document.write(n);</script>";
echo $msg;
答案 3 :(得分:1)
我有一个更好的解决方案:在.php文件中,我有一个名为 javascriptVar 的变量。现在,我想将 javascriptVar 的值分配给名为 phpVar 的php变量。我只需在 script 标记中通过 document.writeln 调用 javascript 变量即可。
<?php
echo "<script>
var javascriptVar = 'success';
</script>";
$phpVar = "<script>document.writeln(javascriptVar);</script>";
?>
答案 4 :(得分:0)
我猜你可以使用cookies。
1)首先添加一个cookie jquery插件。
2)然后将该窗口宽度存储在cookie变量中。
3)使用PHP访问您的cookie,例如$ _COOKIE ['variable name']。
答案 5 :(得分:0)
Javascript将在客户端的浏览器中解释,您无法将其分配给在SERVER上解释的PHP变量。
可行解决方案:您可以通过ajax或表单提交来提交Javascript值。
答案 6 :(得分:0)
如果你想要一个更动态的变量分配,请尝试使用ajax和jQuery.post()。
您无法直接分配变量的原因是因为它们在不同的地方进行处理。
这就像尝试在已经烤好的蛋糕上添加鸡蛋一样,而是应该将蛋送到面包店,以便用新蛋来制作一个新蛋糕。这就是为jQuery's发布的帖子。
通过额外的数据有效负载(HTML或XML,取决于返回的内容)来请求test.php的结果。
$.post( "test.php", { name: "John", time: "2pm" })
.done(function( data ) {
alert( "Data Loaded: " + data );
});
答案 7 :(得分:0)
你应该看到这些链接:
Assign Javascript value to PHP variable
Passing Javascript vars to PHP
或者您可以使用AJAX请求或POST和GET方法来实现此目的。
下面的代码段可能对您有所帮助:
<?php
if(isset($_POST['isSubmit']))
{
// do something here
echo $_POST["name"];
}
?>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="POST">
Your name: <input type="text" name="name" />
<input type="Submit" value="Submit" name="isSubmit">
</form>
答案 8 :(得分:-1)
<html>
<body>
<script>
myvar=12345;
</script>
<?php $var = "<script>return myvar;</script>" ?>
</body>
</html>
答案 9 :(得分:-1)
请使用此代码,它在所有情况下都能正常工作。
<script type="text/javascript">
var width=screen.width;
</script>
<?php
echo $myPhpVar= "<script>document.writeln(width);</script>";
?>