jQuery Ajax 表单提交错误处理

标签 jquery ajax error-handling save

我有以下代码:

var url = "save.php"; // the script where you handle the form input.   

$.ajax({
        type: "POST",
        url: url,
        data: $("#frmSurvey").serialize(), // serializes the form's elements.

        success: function(){
            alert('success');
          },
        error: function(){
            alert( "Request failed: " );
          }

        }); 

现在,在向数据库提交数据时效果很好 - 但是,当我故意更改 save.php 文件以便不提交数据时,我仍然获得成功 警报。

保存文件的代码如下:

$proc = mysqli_prepare($link, "UPDATE tresults SET ip = ?, browser = ?, q1 = ?, q2 = ?, q3 = ?, q4 = ?, q5 = ?, q6 = ?, q7 = ?, q8 = ?, q9 = ?, q10 = ?, q11 = ?, q12 = ?, q13 = ?, q14 = ?, q15 = ?, q16 = ?, q17 = ?, q18 = ?, q19 = ?, q20 = ?, q21 = ?, q22 = ?, q23 = ?, q24 = ?, q25 = ?, q26 = ?, q27 = ?, q28 = ?, q29 = ?, q30 = ?, q31 = ?, q32 = ?, q33 = ?, q34 = ?, q35 = ?, q36 = ?, q37 = ?, q38 = ?, q39 = ?, q40 = ?, q41 = ?, q42 = ?, q43 = ?, q44 = ?, q45 = ?, q46 = ?, q47 = ?, q48 = ?, q49 = ?, q50 = ?, q51 = ?, q52 = ?, q53 = ?, q54 = ?, q55 = ? WHERE respondent_id = ?;");
    mysqli_stmt_bind_param($proc, "ssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissi", $ip, $browser, $q1, $q2, $q3, $q4, $q5, $q6, $q7, $q8, $q9, $q10, $q11, $q12, $q13, $q14, $q15, $q16, $q17, $q18, $q19, $q20, $q21, $q22, $q23, $q24, $q25, $q26, $q27, $q28, $q29, $q30, $q31, $q32, $q33, $q34, $q35, $q36, $q37, $q38, $q39, $q40, $q41, $q42, $q43, $q44, $q45, $q46, $q47, $q48, $q49, $q50, $q51, $q52, $q53, $q54, $q55, $respondent_id);
    mysqli_stmt_execute($proc);
    $mysql_error = mysqli_error($link);
    if ($mysql_error!="") {
        printf("Unexpected database error: %s\n", $mysql_error);
        mysqli_stmt_close($proc);
        mysqli_clean_connection($link);
        exit();
    } else
    {
        mysqli_stmt_close($proc);
        mysqli_clean_connection($link);
        update_completion_status($respondent_id, 'Started');
        header("Location: index.php?r=".$rguid);
    }

我哪里出错了?

最佳答案

我认为您不再在 POST 中提交数据这一事实并不意味着它应该自动抛出错误。我不写 PHP,所以我不知道你的 save.php 做了什么,但假设它是一个有效的 HTTP POST 请求,在 POST 中发送数据然后不执行任何操作不应该有任何非法行为。

关于jQuery Ajax 表单提交错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18193883/

相关文章:

javascript - Ajax 刷新整个页面的问题

php - WP_REST_Response 与 WP_Error

c# - ERR_TOO_MANY_REDIRECTS ASP.NET C#超过100次重定向

javascript - 添加到可能存在或可能不存在的 json 属性

javascript - 在另一个图像中调整和定位文本和图像

javascript - 将元素移入另一个(具有相同类的父元素)

firebase - 收到来自Angular应用上的Firebase函数的自定义错误?

javascript - 为 jQuery UI Droppable 的 Intersect tolerance 构建匹配选项

javascript - 包含在 ejs 中的 Ajax

javascript - ASP.NET MVC/jQuery/AJAX : link fails to work first time, 但第二次工作(页面重新加载后)