0

我想用 jquery 将数据发布到 process.php,并返回 process.php 文件中发生的一切。

我已经设法用ajax加载文件。如果我输入

echo "Hello world!";

它确实返回 Hello world!但它不会返回我使用 $_POST 的回声。

表格

<form class="calc" method="POST" action="process.php">
<input id="calc-average" type="text" name="calc-average" placeholder="Goal"/>
<input id="calc-weight" type="text" name="calc-weight" placeholder="Weight"/>
<input id="calc-calculate" type="hidden" name="calc-calculate" value="1" />
<input type="submit" class="btn  btn-primary calc-submit" value="Calculate">
</form>

剧本

 $(".calc").submit(function(event) {  
            event.preventDefault();   
            $.post( 'process.php', $(".calc").serialize(),  
              function( data ) {  
                  $(".result").append(data);  
              }
            );
});  

进程.php

if(isset($_POST["calc-calculate"])&&isset($_POST["calc-weight"])&&isset($_POST["calc-average"])){
    if(!$_POST["calc-calculate"]==""&&!$_POST["calc-weight"]==""&&!$_POST["calc-average"]==""){
        if($_POST["calc-calculate"]==$subjectid){
            $a = $_POST["calc-weight"];
            $y = $_POST["calc-average"];
            $q = $weights;
            $z = $average;
            $tobe = (-($a*$y+$q*$y-$q*$z)/$a)*-1;
            if($tobe>10 or $tobe<0){
                echo " | Not possible yet";
            }else{
                echo " | The grade you need is: " . round($tobe,1);
            }
        }
    }
}
echo "Hello wordl!";

如果我删除 if 语句,它会返回它们是身份不明的。

那么有谁知道我怎样才能让它工作?

谢谢!

4

3 回答 3

0

这段代码对我来说很好用。

尝试return falsepost请求后添加。

$(".calc").submit(function(event) {  
        event.preventDefault();   
        $.post( 'process.php', $(".calc").serialize(),  
          function( data ) {  
              $(".result").append(data);  
          }
        );
      return false;
});
于 2013-08-31T12:28:36.193 回答
0

嗨,你能在你的jQuery代码中试试这个吗

$(".calc").submit(function(event) {  
            event.preventDefault();   
            $.post( 'process.php', $(".calc :input").serialize(),  
              function( data ) {  
                  $(".result").append(data);  
              }
            );
}); 
于 2013-08-31T11:31:22.207 回答
0

我已经遇到了同样的问题。我的代码在页面上有一个重复的“id”。那是我的问题。请确保您在“序列化”命令调用正确元素的表单中具有专有 id 或类“calc”。

于 2018-05-10T12:06:26.793 回答