我正在使用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);
}
答案 0 :(得分:1)
两件事导致状态= 0
就您而言,我怀疑这是其中之一。因此,它使页面无法浏览。对于您而言,您单击的是最有可能提交的表单。由于您没有取消点击的默认操作,因此表单正在提交,并且正在终止Ajax请求。因此,请停止执行默认操作。
$('#testimonial_add').click(function(event){
event.preventDefault();
...
});
或者,如果您使用的是提交按钮,请将其更改为常规按钮,它将不再提交表单。