javascript - Jquery 重新加载整个页面而不仅仅是表单提交

标签 javascript php jquery ajax

我正在开发一个测验应用程序。我需要创建一个面板来添加问题。现在这是我正在使用的 AJAX 代码。我对以下代码片段有两个问题。 (i) 调用 ajax 函数后页面会完全重新加载。 (ii) 奇怪的是,有时数据会被提交,有时则不会。

我不知道我在哪里犯了错误。请帮忙。谢谢:)

    function ajaxinsert() {
    var questionVal = $("#question").val();
    var option1 = $("#optiona").val();
    var option2 = $("#optionb").val();
    var option3 = $("#optionc").val();
    var option4 = $("#optiond").val();
    //alert(questionVal+option1+option2+option3);
    $.ajax({
        url: 'admin/insertQuestion',
        type: 'POST',
        cache: false,
        data: {
            question: questionVal,
            optiona: option1,
            optionb: option2,
            optionc: option3,
            optiond: option4
        },
        dataType: 'json',
        success: function (reply) {
            console.log(reply);
        },
        error: function (xhr, desc, err) {
            console.log(xhr);
            console.log("Desc :: " + desc + "\nError :: " + err);
        }
    });
}
$("#insert-button").on('submit', function (e) {
    e.preventDefault();
    ajaxinsert();
});

最佳答案

您应该绑定(bind)到表单本身的 submit 事件,而不是提交按钮上的事件。

关于javascript - Jquery 重新加载整个页面而不仅仅是表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21820592/

相关文章:

javascript - 自然高度与自然宽度的比较

javascript - 谷歌地图 API v3 : Adding custom undo/redo function for edited Polygon

php - 如何在 grep 输出时将时间戳附加到每一行?

javascript - 使用 jQuery 更改特定文本

javascript - 如何在鼠标靠近时增加元素大小?

javascript - 在每个 foreach 上显示倒计时器

php - 为什么在此示例中使用 tmp_name

php - 在单个语句中多次调用存储过程时出现错误 1064

java - 如何使用 Slider Jquery 设置值

javascript - AJAX 文件上传后 $_POST 和 $_FILES 为空