在嵌入其中的其他jquery文件中获取php变量时出错

时间:2015-08-20 16:57:16

标签: php jquery html mysql

我有一个用于显示问题的页面,该问题是从mysql中获取数据

<?php
include('lib/db.php');
if(isset($_GET['id']))
{
$cid=mysql_real_escape_string($_GET['id']);
//echo $sub;
$rs=mysql_query("select * from category where id='$cid'");
$r=mysql_fetch_array($rs);
$q=rand(1,2);
$rs1=mysql_query("select * from questions where qid='$q'");

$r1=mysql_fetch_array($rs1);
}
?>
<!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=iso-8859-1" />
<title>Test</title>
<script type="text/javascript" src="js/jquery-2.1.0.js"></script>
<script type="text/javascript" src="js/tsubmit.js"></script>

</head>
<body>
<header>
<?php echo $r['cat_name'];?> Test
</header>
<form method="post" id="test" role="form">
<label for="question">Question:</label>
<?php echo $r1['question']; ?><br/>
<input type="radio" value="<?php echo $r1['ans1']; ?>" name="ans1" /><?php echo $r1['ans1']; ?>
<br/><input type="radio" value="<?php echo $r1['ans2']; ?>" name="ans1" /><?php echo $r1['ans2']; ?>
<br/><input type="radio" value="<?php echo $r1['ans3']; ?>" name="ans1" /><?php echo $r1['ans3']; ?>
<br/><input type="radio" value="<?php echo $r1['ans4']; ?>" name="ans1" /><?php echo $r1['ans4']; ?>
<br/><input type="submit" value="submit" name="submit" id="submit"/>
</form>


</body> 
</html>

并且嵌入的tsubmit.js是

$(document).ready(function()
                           {
var start;
start= new Date()/1000;
function submit(x){
       var end=new Date()/1000;
           var timespent=end-x;
           alert(timespent);
           var ans=$('input[name=ans1]:checked').val();
           alert(ans);
           var cans="<?php echo $r['ans']; ?>";
           //alert('<?php echo $r["ans"]; ?>');
           alert(cans);
          // var qid="<?php echo $q; ?>";
           alert(qid);
           //var datastring='ans='+ans+'&timespent='+timespent+'cans='+cans+'qid='+qid;
           $.ajax({
                  type:"POST",
                  url:"result.php",
                  data:'ans='+ans+'&timespent='+timespent+'&cans='+cans+'&qid='+qid                                           //success:success()
                  });

       }


        $("#test").submit(function(event){
        alert('user clicked submit');                  
           submit(start);
           //event.preventDefault();
       });
   });

但我不是罐头的价值而且结果.php没有得到任何东西

<?php
  include('lib/db.php');
  echo $_POST['ans'];
  echo "<script> alert('ans')</script>";
  ?>

echo $_post['ans']没有得到任何东西

1 个答案:

答案 0 :(得分:0)

正如@MarcB所写,PHP的JavaScript文件将无法执行。有办法做到这一点,但正如已经提到的那样,不建议这样做。

在您的HTML head标记中,您可以定义如下脚本:

<script type="text/javascript" src="js/tsubmit.php"></script>

这将通过PHP调用该文件并生成JS。仍然不会得到你期待的PHP。