通过 ajax 发送包含方程的变量,并将其返回到完全计算的 jquery 中



im 尝试编写一个代码,我将能够通过 ajax 发送一个包含数学方程的变量,并使用 php 对其进行计算

我得到的问题是,一旦PHP将变量返回给jQuery,它就不会计算它,仍然将其作为方程返回

这就是我的方式

jquery

$(".equals").click(function(e){
e.preventDefault();
var firstnum= $("#firstnum").val();
    var secnum= $("#secnum").val();
var operator= $('#operator').val();
var compute = firstnum+operator+secnum;
content = {compute:compute}
    $.ajax({
    url:'compute.php',
    type:'POST',
    data:content,
    success:function(response){
        console.log(response);
    }
    });     
});

.php

<?php
    $compute =$_POST['compute'];
    echo $compute;
?>

例如,我的变量计算的内容是...

10+10

PHP 仍将按原样返回它

我想发生的是,一旦它从 PHP 返回,它将返回为

20

有没有办法做到这一点?

谢谢

如果你想让PHP计算它,你应该写这样的东西。因为当你发送10+10时,PHP 会把它看作一个字符串。

Javascript:

$(".equals").click(function(e){
    e.preventDefault();
    var firstnum= $("#firstnum").val();
    var secnum= $("#secnum").val();
    var operator= $('#operator').val();
    content = {first_number:firstnum,second_number:secnum,operator:operator}
    $.ajax({
        url:'compute.php',
        type:'POST',
        data:content,
        success:function(response){
            console.log(response);
        }
    });     
});

在PHP:

<?php
     $content = $_POST['content'];
     if( '+' == $content['operator'] ){
         echo $content['first_number'] + $content['second_number'];
     }
     else if( '-' == $content['operator']){
         //extraction 
     }
     // so on.. 
?>

在 PHP 中,您必须在服务器端有一个计算器脚本。必须解析数学表达式。你可以使用这样的东西

http://20xxproductions.com/code-samples?s=phpsc

用于解析更复杂的表达式。如果你必须处理更简单的,你可以指定一个运算符,并将这两个数字作为额外的 POST 变量。

最新更新