看起来我对网址的ajax调用不起作用

时间:2014-07-02 15:03:15

标签: javascript php jquery ajax

我想在删除数据库中的记录之前向用户显示确认对话框。我正在我的本地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>

对话框正常,有正确的开斋节。 如果我选择&#34;删除事件&#34;按钮我得到了成功&#34;警报,对话框关闭,&#34;尝试删除&#34;在屏幕上打印得很好,但没有迹象表明de.php曾经被调用过。

我这样做是否正确,我缺少什么?

1 个答案:

答案 0 :(得分:-1)

更改ajax部分以发布数据。

将数据放在表格中而不是回复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中的开发者工具查看是否发布了任何内容及其内容。