Ajax帖子在回调上返回错误函数

时间:2018-08-01 11:05:49

标签: php ajax

我正在使用ajax将数据发布到名为 working.php 的页面上,数据正在存储在数据库中,这意味着一切正常,但是抛出了回调错误函数。

这是脚本:

<script>    
    $(document).ready(function(){
        $('#testimonial_add').click(function(){
            var nm=$('#name').val();
            var message=$('#msg').val();
            $.ajax({
                type:'post',
                url:'working.php',
                data:{name:nm, msg:message},
                success: function(html){
                    alert(html);
                },
                 error: function(jqXHR, textStatus, errorThrown){
                  alert(errorThrown);
              }                 
            });
        });     
    });
</script>

Working.php页面

<?php
    include('../function.php'); 

    $name = $_POST['name'];
    $message = $_POST['msg'];
    if($name == null || $message == null){
        echo 'All fields are required';
    }
    else{
        $query = "INSERT INTO testimonials(testimonial_name,testimonial_text) VALUES ('".$name."','".$message."')";
        dml($query);
        echo 'Data has been inserted';
    }
?>

警报文本状态为错误 errorThorwn为空警报框中的错误功能

我也可以在ajax的URL中给php函数名称

这里是被调用的Dml函数

function dml($query){
    $db=mysqli_connect('localhost','root','','entrepreneurshipdp')
    or die('not connected');
    mysqli_query($db,$query); 
    mysqli_close($db);
}

1 个答案:

答案 0 :(得分:1)

两件事导致状态= 0

  1. 在文件协议上运行
  2. Ajax请求被导航事件取消

就您而言,我怀疑这是其中之一。因此,它使页面无法浏览。对于您而言,您单击的是最有可能提交的表单。由于您没有取消点击的默认操作,因此表单正在提交,并且正在终止Ajax请求。因此,请停止执行默认操作。

$('#testimonial_add').click(function(event){
  event.preventDefault();
  ...
});

或者,如果您使用的是提交按钮,请将其更改为常规按钮,它将不再提交表单。