Javascript按钮调用启动而不是之后

时间:2016-02-28 23:29:51

标签: javascript jquery ajax

当按下按钮时,我会在启动时调用我的Javascript代码。类似的问题并没有解决我的问题。

<button type="button" onclick="anzeigen()">Notizen anzeigen</button>

我试过&#34; anzeigen()&#34;也没有引号,但它也没有帮助。

<script type="text/javascript" charset="utf-8">
    $(document).ready(function() {
            function anzeigen() {
            $("#ausgabe").empty();
            <% System.out.println("test");%>
                $.ajax({
                    url: "http://localhost:8080/Notizblock/rest/" +     
                    "notizblock/notizen",
                    type: "GET",
                    dataType: "json",
                    success: function(data) {

                        $.each(data, function(i, data1) {      
                            // Erstellt neues Element      
                            var p = $("<p>");      
                            // Zugriff aus JSON - Objekt      
                            p.append(data1.nnummer + " " + data1.tnummer);      
                            $("#ausgabe").append(p);     
                            });

                    }
                });
            };
        });
</script>

无论我尝试什么,都会立即调用函数(和Syso)。

编辑: 好吧,我的服务器或其他东西实际上有问题......我现在复制粘贴来自w3schools的代码示例,它也没有工作......用三个浏览器测试过...... 任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

不是将JavaScript直接放在HTML中,而是建议执行以下操作:

<button type="button" id="anzeigen">Notizen anzeigen</button>

<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
        $('#anzeigen').onclick(function() {
        $("#ausgabe").empty();
        <% System.out.println("test");%>
            $.ajax({
                url: "http://localhost:8080/Notizblock/rest/" +     
                "notizblock/notizen",
                type: "GET",
                dataType: "json",
                success: function(data) {

                    $.each(data, function(i, data1) {      
                        // Erstellt neues Element      
                        var p = $("<p>");      
                        // Zugriff aus JSON - Objekt      
                        p.append(data1.nnummer + " " + data1.tnummer);      
                        $("#ausgabe").append(p);     
                        });

                }
            });
        };
    });
</script>

答案 1 :(得分:0)

当dom加载并触发load事件时,将调用传递给document.ready函数的匿名函数中的任何内容。使用jQuery,您在与dom元素交互之前等待此事件。

您正在使用按钮的onclick属性分配操作,因此您无需等待此事件。

修改

<button type="button" onclick="anzeigen()">Notizen anzeigen</button>

<script>
  function anzeigen() {
    $("#ausgabe").empty();
    $.ajax({
        url: "http://localhost:8080/Notizblock/rest/" +     
        "notizblock/notizen",
        type: "GET",
        dataType: "json",
        success: function(data) {
          $.each(data, function(i, data1) {      
              // Erstellt neues Element      
              var p = $("<p>");      
              // Zugriff aus JSON - Objekt      
              p.append(data1.nnummer + " " + data1.tnummer);      
              $("#ausgabe").append(p);     
          });
        }
    });
  }
 </script>