我对 PHP 和 AJAX 还很陌生,但我认为我对 JavaScript 和 jQuery 有一定的了解。这是我的问题:在我的 UI 中,我有一个表单输入字段和一个 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
都执行了两次。这是控制台输出:
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
但是,数据只写入数据库一次。这很奇怪。这是 php 控制台中的错误还是我的代码不好?