未定义索引:ajax POST 和/或 php 脚本中出现错误?

ssr*_*bbi 5 javascript php ajax jquery

我正在尝试将 ajax POST 发送到 php 文件,但是 php 文件发送“未定义索引”的通知,并且 php 文件似乎从未收到我尝试发送的值。我一直在寻找为什么这不能正常工作的答案,所以希望有人能给我一些见解。

我的 javascript 函数从 html 接收一个值,并接收正确的值。(在本例中为“1”)

    function deleteMediaFromDatabase(val)
    {

  $.ajax({ url: 'deleteMediaFromDatabase.php',
         data: {vals : val},
         type: 'post',
         success: function(output) {
                      alert(output);
                  },
          error: function(request, status, error){
            alert("Error: Could not delete");
          }
  });
}
Run Code Online (Sandbox Code Playgroud)

这是我的 php 文件中应该接收该帖子的部分:

    <?php

 ini_set("display_errors", "On");
 error_reporting(E_ALL);

    $val = $_POST["vals"];

    // create connection
    $con = mysqli_connect(<stuff you don't care about>);

  error_log($val . ' is the value', 3, "./error.log");

?>
Run Code Online (Sandbox Code Playgroud)

然而,我从 php 收到此错误消息:

注意:未定义索引:第 9 行 /xxx/xxx/htdocs/AdminPanel/deleteMediaFromDatabase.php 中的 vals

我的 javascript 总是在错误中输出警报:“错误:无法删除”

我知道这个问题已经被问过并回答了很多次,但是除非我跳过一些小东西,否则我的代码对我来说看起来是正确的。(但不是总是这样……)

Vis*_*was 2

jquery 语法有错误。您错过了数据语法。这应该是这样的——

function deleteMediaFromDatabase(val)
{
$.ajax({ url: 'deleteMediaFromDatabase.php',
     data: {'vals' : val},
     type: 'post',
     dataType:'json',
     success: function(output) {
                  alert(output);
              },
      error: function(request, status, error){
        alert("Error: Could not delete");
      }
});
}
Run Code Online (Sandbox Code Playgroud)