Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX.done()未按预期工作_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript AJAX.done()未按预期工作

Javascript AJAX.done()未按预期工作,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我不知道问题出在哪里,但我发现,如果我将此行data:form_data更改为data:form_data它不返回Ajax,但PHP函数可以工作 默认的ajax,带有一行:data:form_data-->会中断页面,php函数将无法工作 在该行之后添加“;”数据:表单_数据-->不显示任何内容,但PHP函数工作并在数据库中插入“reply” 调用PHP函数和显示警报对话框应如下所示: 答复表格: <!-- REPLY MODAL --> <div class="moda

我不知道问题出在哪里,但我发现,如果我将此行
data:form_data
更改为
data:form_data它不返回Ajax,但PHP函数可以工作

默认的ajax,带有一行:
data:form_data
-->会中断页面,php函数将无法工作

在该行之后添加“;”数据:表单_数据-->不显示任何内容,但PHP函数工作并在数据库中插入“reply”

调用PHP函数和显示警报对话框应如下所示:

答复表格:

<!-- REPLY MODAL -->
<div class="modal fade reply_comment_<?php echo $comment['id'];?>" id="reply_comment_<?php echo $comment['id'];?>" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <b><center><div class="modal-header">Reply Comment</div></center></b>
            <form id="replyForm_<?php echo $comment['id'];?>" class="horiziontal-form" action="../Pages/fun_post.php?action=replyCommentForm" method="post">
                <center><textarea name="reply" style="width:80%; height:200px; margin-top:20px; margin-bottom:20px; resize:vertical;" placeholder="Write your comment!"></textarea></center>
                <input type="hidden" name="addedby" class="form-control col-md-7 col-xs-12" value="<?php echo $myRow['id']; ?>" />
                <input type="hidden" name="comment_id" class="form-control col-md-7 col-xs-12" value="<?php echo $comment['id']; ?>" />
                <input type="hidden" name="post_id" class="form-control col-md-7 col-xs-12" value="<?php echo $comment['post_id']; ?>" />
                <input type="submit" style="float:right; margin-right:90px;" class="btn btn-primary" name="submit" value="Reply" />
            </form>
        </div>
    </div>
</div>
<!-- END OF REPLY MODAL -->


您似乎对表单提交事件处理程序使用了错误的选择器。您正在使用:

$("#reply_comment_<?php echo $comment['id'];?>").submit(function(event){
    // ...
});

在该行数据之后添加“;”:form_data;-->没有显示任何内容
,这是因为如果添加分号,则会出现语法错误
data:form_data
之后,您只会收到一个错误,因此表单在没有ajax的情况下提交,因此它不起作用。@JaykumarGondaliya这在逻辑上与OP现在的情况相同。您能在DevTools的
网络
选项卡中看到请求吗?换句话说,ajax请求本身是否被调用?您是否按照@MoshFeu的建议检查了控制台中的错误?谢谢。正如我所想。。我自己的编码有错误。简单的错误,但找不到。@Crelix没问题:)
<!-- REPORT MODAL -->
<div class="modal fade report_post_<?php echo $post['id'];?>" id="report_post_<?php echo $post['id'];?>" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <b><center><div class="modal-header">Report Post</div></center></b>
            <form id="reportForm_<?php echo $post['id'];?>" class="horiziontal-form" action="../Pages/fun.php?action=reportPostForm" method="post">
                <center><textarea name="report" style="width:80%; height:200px; margin-top:20px; resize:vertical;" placeholder="Please describe your Report!"></textarea></center>
                <input type="hidden" name="addedby" class="form-control col-md-7 col-xs-12" value="<?php echo $myRow['id']; ?>" />
                <input type="hidden" name="image_id" class="form-control col-md-7 col-xs-12" value="<?php echo $post['id']; ?>" />
                <div class="modal-footer"><input type="submit" class="btn btn-danger" name="submit" value="Report" /></div>
            </div>
        </div>
    </form>
</div>
<!-- END OF REPORT MODAL -->


<script>
$(function(){

    $("#reportForm_<?php echo $post['id'];?>").submit(function(event){
        event.preventDefault(); //prevent default action
        var post_url = $(this).attr("action"); //get form action url
        var request_method = $(this).attr("method"); //get form GET/POST method
        var form_data = $(this).serialize(); //Encode form elements for submission

        $.ajax({
            url : post_url,
            type: request_method,
            data : form_data
        }).done(function(response){ //
            $('#report_post_<?php echo $post['id'];?>').modal('hide');
            document.getElementById('result-box').innerHTML += response;
        });
    });
  });
</script>
$("#reply_comment_<?php echo $comment['id'];?>").submit(function(event){
    // ...
});
$("#replyForm_<?php echo $comment['id'];?>").submit(function(event){
    // ...
});