HTML会忽略Ajax调用

时间:2019-06-07 15:03:33

标签: java html ajax tomcat

我无法正常运行ajax POST请求。我正在尝试将数据从表单发送到服务器(在tomcat上运行)并接收答案。根据答复和电话的成功,我会做一些事情。问题是,似乎HTML文档忽略了具有ajax调用的Jquery-script。当我提交表单时,数据将发送到指定的URL,由服务器通过@FormParam获取并返回答案。收到答案后,整个HTML文档将变为来自服务器的答案。我想通过使用.ajax()方法中的成功/错误属性来精确控制答案的发生情况。在下面的示例中,我在成功属性内使用allert()函数,但从未调用过此函数。

这是代码

<script src="https://cdn.jsdelivr.net/npm/moment@2/moment.min.js"></script>
<script src="https://apis.google.com/js/api.js"></script>

来自服务器的代码是:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
    <script>$("#myForm").submit(function (e) {
        e.preventDefault();

        var form = $(this);
        var method = form.attr("method");
        var url = form.attr("action");
        $.ajax({
            type : method,
            url : url,
            data : form.serialize(),
            success : function (data) {
                alert(data);
            },
            error : function () {
                alert("failed to get data")
            }
        });
    });
    </script>
</head>
<body>
<form id="myForm" method="post" action="rest/service/form">
    <input name="name" type = "text" placeholder="write a name">
    <input name="id" type = "text" placeholder="choose an id">
    <input name="amount" type = "text" placeholder="choose an amount">
    <input name="submit" type = "submit">
</form>
</body>
</html>

我已经在浏览器中检查了错误消息,但没有成功。我还尝试过将脚本放置在窗体内部和上方的正文中。

我已经看过这些帖子,但是答案并不能解决问题:

jquery ajax function not working

Why the AJAX function is not getting called and alert is not getting printed upon calling the function?

Ajax not being called

0 个答案:

没有答案