我将两个变量发送到我的php页面进行计算,然后回显最终结果。我的回复文本总是等于一个。
Javascript:
var xhttp = new XMLHttpRequest();
xhttp.open("GET","calc.php?w1="+ftest+"&w2="+ltest,true);
xhttp.onreadystatechange = function() {
if(xhttp.readyState==4)
{
var dog = xhttp.responseText;
alert(dog);
}
};
xhttp.send(null);
}
php:
我在这里将end var设置为一个随机数,以测试我的数学是否导致问题。
$startdate = $_GET['w1'];
$endDate = $_GET['w2'];
$workingdays = 239;
echo $workingDays;
答案 0 :(得分:2)
将$workingDays
直接设为10
(随机数)。如果它不是10,那么你显然没有看到那个echo语句的结果。
1
通常用作本地PHP函数的输出,例如isset
答案 1 :(得分:2)
你的情况是错的。
$workingdays = 239;
echo $workingDays;
在两个地方让它工作日(有大写字母D)。
答案 2 :(得分:0)
始终使用isset()
来接收数据,并且您使用变量$workingdays
进行声明,并使用echo $workingDays
来处理这些事情。我希望这对你有用。
$startdate = '';
$endDate ='';
if(isset($_GET['w1']))
{
$startdate = $_GET['w1'];
}
if(isset($_GET['w2']))
{
$endDate = $_GET['w2'];
}
$workingdays = 239;
echo $workingdays;
die;
答案 3 :(得分:0)
尝试在ajax代码中添加此变量,以便在服务器端接收使用get方法发送的数据时进行测试。
var ftest = 1;
var ltest = 2;
我认为你的ajax代码在一个函数中,比如说myfunction
,你有一个这样的链接<a href="#" onclick="myfunction()">link</a>
以下是代码的完整实现,假设您的文件名为index.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ajax</title>
</head>
<body>
<a href="#" onclick="myfunction()">link</a>
<script type="text/javascript">
function myfunction () {
var ftest = 1;
var ltest = 2;
var xhttp = new XMLHttpRequest();
xhttp.open("GET","calc.php?w1="+ftest+"&w2="+ltest,true);
xhttp.onreadystatechange = function() {
if(xhttp.readyState==4) {
var dog = xhttp.responseText;
alert(dog);
}
};
xhttp.send(null);
}
</script>
</body>
</html>
和Calc.php
<?php
$startdate = $_GET['w1'];
$endDate = $_GET['w2'];
$workingdays = 239;
$result = $startdate + $endDate;
echo "$result";
?>
在此示例中,您的警报将等于 3 ,在您的代码
中相同希望这会有所帮助