Javascript SQL插入已完成,但ajax检索错误消息
我有以下javascript代码: 和PHPJavascript SQL插入已完成,但ajax检索错误消息,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有以下javascript代码: 和PHP 基本上,插入确实完成了,但出于某种原因,它在数据库中显示为一次查询的两倍。ajax文件未发送;页面会刷新,这是不应该的。这可能是什么原因造成的?其他查询、代码语法、某些函数?我使用的所有其他ajax都可以正常工作。这是一个已知的问题,是由于某些特定的原因造成的吗?提前非常感谢 对于双重提交和页面刷新,听起来您需要防止表单的默认操作: $("form").on('submit', function(event) { // prevent the d
基本上,插入确实完成了,但出于某种原因,它在数据库中显示为一次查询的两倍。ajax文件未发送;页面会刷新,这是不应该的。这可能是什么原因造成的?其他查询、代码语法、某些函数?我使用的所有其他ajax都可以正常工作。这是一个已知的问题,是由于某些特定的原因造成的吗?提前非常感谢 对于双重提交和页面刷新,听起来您需要防止表单的默认操作:
$("form").on('submit', function(event) {
// prevent the default submit
event.preventDefault();
// do your other stuff
// your ajax call
var value = $.ajax({
...
});
});
如果正确添加了条目,但使用了相同的错误函数,则可能是php中存在错误,导致脚本在insert部分之后的某个位置退出,并出现错误
您应该启用错误处理并在浏览器工具的“网络”选项卡中显示,或者暂时禁用ajax以正常提交并在浏览器中查看错误,或者查看web服务器错误日志中的消息。听起来您需要阻止表单的默认操作。您能在触发ajax的地方发布完整的代码吗?并检查错误日志中的php错误。@jeroen我不能,这段代码实在太大了,看起来与变量名无关或混淆。如何确切地防止窗体的默认操作?我从来没有这样做过,每一个ajax都工作了。。。这一个特别是不同的,形式的东西是由4个文本区域,采取了大量的文本,然后提交。它在mysql中以文本形式保存,并且似乎正在正确上传而不是切片…请看我的回答,ajax正在工作,但如果不停止,则正常表单提交也是如此,因此您将获得双重提交和页面刷新。。。。
if(isset($_POST['the_thingy'])){
$allowed = 100;
$the_thingy = $mysqli->real_escape_string($_POST['the_thingy']);
$query = "SELECT another thingy from the database";
$the_thingy_length = strlen($the_thingy);
if($the_thingy_length <= $allowed){
$query = "INSERT INTO thingyes VALUES '$the_thingy'";
$result = $mysqli->query($query);
}
//amongst other queries and of the same "type"
$("form").on('submit', function(event) {
// prevent the default submit
event.preventDefault();
// do your other stuff
// your ajax call
var value = $.ajax({
...
});
});