Javascript变量到PHP变量而不重新加载页面

时间:2014-03-21 19:28:42

标签: javascript php variables

我有问题。我有这段代码:

 <INPUT TYPE="button" value="Evaluare" onClick="punctaj=1;
      if (i1[1].checked) punctaj=punctaj+3;
      if (i2[0].checked) punctaj=punctaj+3;
      if (i3[3].checked) punctaj=punctaj+3;
      alert('Ai obtinut nota '+punctaj+'!');"> 

如何在不重新加载页面的情况下将punctaj的值发送到php变量?

2 个答案:

答案 0 :(得分:2)

你需要使用Ajax和json与jquery和PHP的Jquery和Ajax语法进行通信

的index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<title>Jquery Ajax</title>
<script type="text/javascript">
$(document).ready(function(e) {

$('#but').click(function()
{
    $.ajax({
        type:'POST',
        url:"values.php",
        data:"Test_Val="+$('#test').val()+"",
        success: function(result)
        {
            alert(result);
        }
    });
})

});
</script>
</head>

<body>

<input type="text" name="test" value="Hello World!" id="test" />

<input type="submit" name="submit" id="but" />
</body>
</html>

values.php

<?php
if(isset($_POST['Test_Val']))
{
$value=$_POST['Test_Val'];

echo $value;
}
?>

答案 1 :(得分:0)

您可以使用

document.cookie="name=value";

然后,当PHP准备好阅读它时,您可以使用

$var = $_COOKIE['name'] ;

请注意,PHP无法在同一页面加载时读取javascript Cookie。在任何javascript发生之前,所有PHP都会发生。

您可以使用AJAX通过POST或GET将javascript发送到专用的PHP页面。不要陷入困境,想知道为什么你的php无法读取javascript var,即使javascript var高于php代码。它永远不会奏效。