无法通过JQuery成功发送特定的AJAX请求

时间:2012-05-14 11:05:46

标签: php jquery ajax

我目前正在尝试使用AJAX从我的MySQL数据库中删除信息,但出于某种原因,该请求甚至没有发送到我指定的ajax网址。

以下是发送的代码:

<script type="text/javascript"> // Notes Delete
    $(document).ready(function(){
        $("form#RemoveNote2").submit(function() {
            var ID = $('#ID').attr('value');
                $.ajax({
                    type: "POST",
                    url: "ajaxdeleteinvoicenote.php",
                    data: "id="+ ID,
                    datatype: "json",
                    success: function(result){
                        alert('test');
                    }
                });
            return false;
        });
    });
</script>

以下是发送的表单:

<form id="RemoveNote2" style="margin: 0px; padding:0px;" method="post">
  <span style="width:80%; display:inline-block;">Test</span>
  <span style="text-align: center; width: 10%; display:inline-block;">
    <input id="ID" type="hidden" value="39">
    <button class="close" type="submit">×</button>
  </span>
</form>

使用名为Fiddler2的工具,我注意到它甚至没有完成发送到ajaxdeleteinvoicenote.php的任务。有什么想法吗?

6 个答案:

答案 0 :(得分:1)

您的数据不是格式化的JSON类型。尝试删除参数数据类型:“json”

度过愉快的一天

答案 1 :(得分:0)

请注意不是datatype: "json",

dataType: "json",

...也 而不是使用..

var ID = $('#ID').attr('value');
用这种方式很好......

 var ID = $('#ID').val();

我认为这会解决..

答案 2 :(得分:0)

您发送的datatype选项设置为JSON,而实际数据是form-urlencoded:JSON中的data: "id="+ ID,会读取{"id":"123"}。你最好放弃数据类型(jQuery很聪明,想知道如何正确发送数据)并删除'id ='位,只需按原样发送{id:$('#ID').value}

使用jQuery时,对象不需要是JSON.stringified

答案 3 :(得分:0)

尝试使用Mozilla firebug并检查包含的jQuery版本。你的代码对我来说很好。

<script src="http://code.jquery.com/jquery-latest.js"></script>
<form id="RemoveNote2" style="margin: 0px; padding:0px;" method="post">
  <span style="width:80%; display:inline-block;">Test</span>
  <span style="text-align: center; width: 10%; display:inline-block;">
    <input id="ID" type="hidden" value="39">
    <button class="close" type="submit">X<button>
  </span>
</form>

<script type="text/javascript"> // Notes Delete
    $(document).ready(function(){
        $("form#RemoveNote2").submit(function() {
            var ID = $('#ID').val();
                $.ajax({
                    type: "POST",
                    url: "ajaxdeleteinvoicenote.php",
                    data: "id="+ ID,
                    datatype: "json",
                    success: function(result){
                        alert(result);
                    }
                });
            return false;
        });
    });
</script>

在“ajaxdeleteinvoicenote.php”中添加以下行。

<?php
echo $_POST['id'];die;
?>

答案 4 :(得分:0)

 $(document).ready(function(){
        $("form#RemoveNote2").submit(function() {
                //e.preventDefault();

                $.ajax({                   
                    url: "/ajaxdeleteinvoicenote.php", type: "POST", dataType: "json",
                    data: { id : $(this).find('#ID').val() },                        
                    success: function(result){
                        alert(result);
                    }
                });
            return false;
        });
    });

答案 5 :(得分:0)

您是否放置了ajaxdeleteinvoicenote.php以及在同一文件夹中发送内容的页面?
同时从上一个属性中删除逗号(,),如:

 datatype: "json"