jQuery $.ajax 不显示任何内容

标签 jquery ajax

我将使用 AJAX 和 PHP 文件来处理 HTML 表单来管理数据,但成功消息或错误消息都不起作用。 我尝试了 firebug,但它就像在出现 $.ajax 语句时等待一些东西,然后它“崩溃”。

<form id="alcoholic-form" name="alcoholic-form" method="post">
    <fieldset>
        <input type="submit" id="submit" value="Invia">
    </fieldset>
</form><!-- form -->

<div id="risultato"></div>
<div id="errore"></div>

controller.js 文件:

$(document).ready(function(){
    $("#submit").click(function(){

    //var formData = $("#alcoholic-form").serialize();
    var nome = "nico";
    var cognome = "basi";


    $.ajax({
        type: "POST",
        url: "prova.php", //data manager
        data: "nome=" + nome + "&cognome=" + cognome, //data to server
        dataType: "html", //return value format
        success:function(msg){
            $("#risultato").html(msg);
            alert(msg);
        },//success
        error: function(xhr, status, error) {
            var err = eval("(" + xhr.responseText + ")");
            alert(err.Message);
            }
    });//ajax
});//submit click
});//document ready 

然后是 prova.php 文件:

<?php /* questionario.php */ ?>

<?php

$nome = $_POST['nome'];
$cognome = $_POST['cognome'];

echo "nome = " . $nome . " cognome = " . $cognome;

?>

提前谢谢

最佳答案

您有一个带有提交按钮的表单,当您单击提交按钮时,默认操作是提交表单。

由于您使用的是 ajax 请求,因此您需要阻止默认表单提交。您可以调用 event.preventDefault() 来执行此操作。

$(document).ready(function () {
    $("#submit").click(function (e) {
        //prevent the default form submit
        e.preventDefault();

        //var formData = $("#alcoholic-form").serialize();
        var nome = "nico";
        var cognome = "basi";


        $.ajax({
            type: "POST",
            url: "prova.php", //data manager
            data: "nome=" + nome + "&cognome=" + cognome, //data to server
            dataType: "html", //return value format
            success: function (msg) {
                $("#risultato").html(msg);
                alert(msg);
            }, //success
            error: function (xhr, status, error) {
                var err = eval("(" + xhr.responseText + ")");
                alert(err.Message);
            }
        }); //ajax
    }); //submit click
}); //document ready
<小时/>

但是既然你有一个表单和一个提交按钮,那么处理表单的提交事件会比处理按钮的单击事件更好

$(document).ready(function () {
    $("#alcoholic-form").submit(function (e) {
        //prevent the default form submit
        e.preventDefault();

        //var formData = $("#alcoholic-form").serialize();
        var nome = "nico";
        var cognome = "basi";


        $.ajax({
            type: "POST",
            url: "prova.php", //data manager
            data: "nome=" + nome + "&cognome=" + cognome, //data to server
            dataType: "html", //return value format
            success: function (msg) {
                $("#risultato").html(msg);
                alert(msg);
            }, //success
            error: function (xhr, status, error) {
                var err = eval("(" + xhr.responseText + ")");
                alert(err.Message);
            }
        }); //ajax
    }); //submit click
}); //document ready

关于jQuery $.ajax 不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30484574/

相关文章:

c# - 从代码后面的输入框获取值

javascript - 如何在 ajax 上使用 this.children

javascript - jQuery ajax 到 PHP,返回错误和空对象

javascript - jQuery ajax 调用变量

javascript - 如何用两根手指点击显示/隐藏 jQuery 移动标题?

jquery - 背景填充宽度、刻度高度

javascript - f :ajax is present on a page 时不包含 oamSubmit.js

ajax - 捕获 API 响应并将其上传到云端硬盘

javascript - 添加和删​​除项目后添加下一个项目的可能性问题 jQuery mobile

jquery - 映射大于屏幕尺寸的图像