似乎我的ajax调用url不工作


It seems like my ajax call to url is not working

我想在用户删除数据库中的记录之前显示一个确认对话框。我正在开发这在我的本地PC网络服务器。有点像这样:用户选择要删除的记录(php表单)用户点击删除按钮(php提交按钮)弹出一个对话框,询问是否要删除记录(jquery)是- Ajax调用到同一目录下的另一个php页面

我已经尝试过这与chrome和FF没有错误,我可以看到除了结果页面从未被调用。仅供参考,如果我像这样直接通过浏览器调用de.php页面,则可以正常工作:

http://localhost/de.php?eid=61

下面是一些片段:

<script>
$(function() {
 $( "#dialog-confirm" ).dialog({
  resizable: false,
  height:340,
  modal: true,
  buttons: {
    "Delete Event": function() {
     $.ajax({
        url: '/de.php?eid=<?php echo $theEventId ?>',
        success: function(data) {
           alert('success');
        }, error: function (data) {
           alert('failed');
        }
      });
      $( this ).dialog( "close" );
      $('#myDiv').append('Trying to Delete');
    },
    Cancel: function() {
      $( this ).dialog( "close" );
      $('#myDiv').append('Delete Cancelled');
    }
  }
 });
});
</script>

表单代码

<form method="post" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']) ?>" id="ee_form">
  <div id="myDiv"></div>
  <input type="submit" name="Update" value="Update Event" />
  <a href="index.php"><input type="button" value="Cancel" /></a>      
  <input type="submit" name="Delete" value="Delete Event <?php echo $theEventId ?>" />
</form>

对话框弹出,显示正确的eid。如果我选择"Delete Event"按钮,我得到一个"success"警报,对话框关闭,"Trying to Delete"被打印到屏幕上,但是没有指示de.php被调用过。

我这样做正确吗,我错过了什么?

将ajax部分改为post data

把数据放在一个表单中,而不是回显JS。

<form id="myform">
 <input type="hidden" value="<?php echo $theEventId ?>">
 <button type="submit" value="Delete">
</form>

然后在JS中序列化表单。

var form_data = $("#myform").serialize();    

然后发布序列化的数据。

$.ajax({
        url: '/de.php',
        type: 'POST',
        data: form_data,
        success: function(data) {
           alert('success');
        }, error: function (data) {
           alert('failed');
        }
      });

在google chrome中使用开发工具查看是否有任何内容发布以及它是什么