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 变量。