2016-04-15 9 views
1

私は2つの変数を計算のために私のPHPページに送り、最終結果をエコーバックします。私の応答テキストは常に1に等しい。Ajaxレスポンステキストは常に1です

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:

私は私の数学の問題を引き起こしていた場合、単にテストするために、ここで乱数を終了するvarを設定します。 10(乱数)に直接

$startdate = $_GET['w1']; 
$endDate = $_GET['w2']; 
$workingdays = 239; 
echo $workingDays; 
+0

チェック変数を助ける、それはあなたのコード

ホープ同じでに等しくなります; ' – Fil

答えて

2

セット$workingDays。それが10でなければ、あなたは明らかにそのechoステートメントの結果を見ていません。

1は、多くの場合、あなたはケースが間違っているなら、そのようなisset

2

などのネイティブPHP関数への出力として使用されています。

$workingdays = 239; 
echo $workingDays; 

稼働日(資本金D)を両方の場所で使用します。

0

データの受信には常にisset()を使用し、宣言とエコー$workingDaysには変数$workingdaysを使用していますので、これらのことに注意してください。これがあなたに役立つことを願っています。あなたはgetメソッドを使用して送信されたデータを受信して​​いるサーバ側であれば、単にテストを作るためにあなたのAjaxのコードでこの変数を追加

$startdate = ''; 
$endDate =''; 
if(isset($_GET['w1'])) 
{ 
    $startdate = $_GET['w1']; 
} 
if(isset($_GET['w2'])) 
{ 
    $endDate = $_GET['w2']; 
} 

$workingdays = 239; 
echo $workingdays; 
die; 
0

してみてください。私は関数がmyfunctionを言わせて、あなたはここでは、この<a href="#" onclick="myfunction()">link</a>

のようなリンクはあなたのファイル名がindex.php

であると仮定すると、コードの完全な実装である持っている内部のあなたのAjaxコードがあると仮定

var ftest = 1; 
var ltest = 2; 

<!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"; 
?> 
``エコー$ workingDaysに等しくなければならない。この例では

警告あなたがこの行 `$ workingdays = 239で

関連する問題