jQuery AJAX POST没有将数据传递给PHP脚本

时间:2017-07-27 13:48:32

标签: javascript php jquery html ajax

所以我有这个jQuery:

$("#dropbin").droppable(
    {
    accept: '#dragme', 
    hoverClass: "drag-enter",
    drop: function(event) 
    {
      var noteid = "<?=isset($_POST['noteid']) ? $_POST['noteid'] : "" ?>";

      if (confirm('Delete the note?')==true) 
      {
        $('#dragme').hide();
        debugger
        $.ajax({
          type: 'POST',
          data: noteid,
          datatype: 'json',
          url: 'deleteNote.php',
          success: function(result)
              {
                  alert("Success");
              }
        });

        window.location = "http://discovertheplanet.net/general_notes.php";
      }
      else
      {
        window.location = "http://discovertheplanet.net/general_notes.php";
      }
    }
  });

并且包含此网址:url: 'deleteNote.php',

在deleteNote.php中:

<?php

include "connectionDetails.php";

?>

<?php

if (isset($_POST['noteid'])) 
{
    // $noteid2 = $_POST['noteid1'];

    echo "You finally hit this bit, congratulations...";

    // $stmt = "UPDATE Notes SET Deleted = GETDATE() WHERE NoteID = (?)";
    // $params = $noteid2;

    // $stmt = sqlsrv_query($conn, $stmt, $params);

    // if ($stmt === false) 
    // {
    //  die( print_r(sqlsrv_errors(), true));
    // }

}

else
{
    echo "No Data";
}


?>

现在即使在URL中,如果我运行/deleteNote.php?noteid=25,它也会点击我的PHP的“无数据”部分。

当我在调试器中运行时,它使用NoteID填充变量noteid,以便该位正在工作,但PHP文件说它未设置?

1 个答案:

答案 0 :(得分:1)

让我们看一下你的Ajax调用:

$.ajax({
      type: 'POST',
      data: noteid,
      datatype: 'json',
      url: 'deleteNote.php',
      success: function(result)
          {
              alert("Success");
          }
    });

看起来很不错,但是你发送没有id的帖子数据,你只是发送一个值。试试这个。

  $.ajax({
      type: 'POST',
      data: {
          noteid: noteid
      },
      datatype: 'json',
      url: 'deleteNote.php',
      success: function(result)
          {
              alert("Success");
          }
    });