0

私はまだ PHP と AJAX に慣れていませんが、JavaScript と jQuery についてはある程度理解していると思います。ここに私の問題があります: 私の UI には、フォーム入力フィールドと [OK] ボタン (フォームの一部ではありません) があります。ユーザーが [OK] ボタンをクリックするたびに、入力フィールドの内容といくつかのセッション変数が AJAX 経由でサーバーに送信されるため、ページをリロードする必要はありません。

これが私のjsコードです:

$.post('api/someFile.php',
  {
    var1: nr1,
    var2: nr3,
    var3: nr3,
  }
);

これが私のphpコードsomeFile.phpです:

<?php
  // activate current session
  session_start();

  // use php console for debugging    
  require_once('PhpConsole.php');
  PhpConsole::start();

  // get data from UI
  $var1 = $_POST["var1"];
  $var2 = $_POST["var2"];
  $var3 = $_POST["var3"];

  debug("start receiving");
  debug($var1 . " " . $var2 . " " . $var3);

  // ... proceed with the data and write it in database...

  debug("finished");
?>

問題は、すべてのコードsomeFile.phpが 2 回実行されることです。これはコンソール出力です:

javascript debug: send to server: nr1, nr2, nr3
php debug: start receiving
php debug: nr1 nr2 nr3
php debug: finished
php debug: start receiving
php debug: nr1 nr2 nr3
php debug: finished

ただし、データがデータベースに書き込まれるのは 1 回だけです。それはかなり奇妙です。それはphpコンソールのバグですか、それとも私のコードが悪いですか?

4

1 に答える 1