0

我正在努力将我的数据从 html 表单导入 mySQL 2 天,现在......

当我解决了maaany问题时,我被一个(恕我直言)空FormData对象困住了。我有一个表格

<form id="pricing">   
   ...
   <input id="fromDate" name="fromDate" value=""/>
   ...
   <input type="submit" value="Go!"/>
</form>

数据传输不需要重定向到新页面,所以我选择了 XMLHttpRequest,也支持过时的浏览器。该代码或多或少是从教程中复制粘贴的。

const form = document.querySelector('#pricing');
  // listen for submit even
  form.addEventListener('submit', (event) => {
        // disable default action
        event.preventDefault();
        
        // configure a request
        const xhr = new XMLHttpRequest();
        xhr.open('POST', 'forms/pricing.php');
    
        // prepare form data
        let data = new FormData(form);
    
        // set headers
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    
        // send request
        xhr.send(data);
        console.log(data);
    
        // listen for `load` event
        xhr.onload = () => {
            console.log(xhr.responseText);
        }
  });

到达登陆页面forms/pricing.php,点击“go”成功将一些固定值(为调试输入)存入数据库。但是,$_POSTvar 似乎是空的,我的数据对象是通过 PDO 存储的

        'fromDate' => isset($_POST["fromDate"]) ? $_POST["fromDate"] : '1',

商店'1'而不是$_POST["fromDate"]. 而且在console.log(data);(其中数据是 POST 的 FormData,如第二个片段所示)的控制台输出中,我找不到任何数据。

我究竟做错了什么?

4

0 回答 0