【问题标题】:Javascript, Ajax and Alert Not WorkingJavascript、Ajax 和警报不起作用
【发布时间】:2013-04-05 05:38:34
【问题描述】:

我是 Javascript 和 Ajax 的新手,想弄清楚为什么我的下面的代码不起作用。

<script type="text/javascript">
  $(document).ready(function() {
    $('.cadlib').bind('click', function () {
      $.get("/models/"+this.id+"/viewmodelinfo/", function(data) {
        alert ("yo");  // This line bellow doesn't execute
        if (data.fact_type=="T") {
          guess_result="This fact is true! " + data.fact_note;
        } else {
          alert ("yo");
          guess_result="This fact is false! " + data.fact_note;
        }
        $('#result').replaceWith("guess_result");
      });
   });
});
</script>

这是我的 HTML

<a href = "#mySymbolModal" class = "cadlib" id = "{{symbol.id}}" data-toggle="modal" style = "text-align:center; color: #FF761A;" href="/models/{{symbol.id}}/view_model/"><span id = "modelname"> {{symbol.modelname.upper}}</span> - <span id = "format">{{ symbol.format }}</span><span id = "adder" style="visibility:hidden;">{{symbol.adder}}</span><span id = "adderid" style="visibility:hidden;"> {{symbol.adder.id}}</span><span id = "symbolobject" style="visibility:hidden;">{{symbol}}</span></a>

我认为注释行有问题。我的警报没有实例化。

我是否遗漏了什么会导致警报不起作用?

【问题讨论】:

标签: javascript ajax django


【解决方案1】:

我猜它是 'this.id',尝试在 $.get 之前使用 on alert(this.id) 以查看其产生(或不产生)什么。

我做了类似的事情,应该会给你这个想法

$(".productpicturedelete").on("click", "input[type=button]", function(event){
        var $buttonid = $(this).attr("id");

【讨论】:

  • 我不认为是这样,因为当我对其发出警报时,它会给出正确的路径。
  • 如何添加 .done()、.fail() 和 .always() 以尝试更好地捕获发生了什么?
【解决方案2】:

URL 字段中缺少数据源文件名:

$.get("/models/"+this.id+"/viewmodelinfo/", function(data) {..});

【讨论】:

    【解决方案3】:
    <script type="text/javascript">
        $(document).ready(function() {
            $('.cadlib').bind('click', function () {
                data_id = $(this).attr('id'); //add this
    
                $.get("/models/" + data_id + "/viewmodelinfo/", function(data) {
                    alert ("yo");  // This line bellow doesn't execute
                    if (data.fact_type=="T") {
                        guess_result="This fact is true! " + data.fact_note;
                    } else {
                        alert ("yo");
                        guess_result="This fact is false! " + data.fact_note;
                    }
                    $('#result').replaceWith("guess_result");
                });
            });
        });
    </script>
    

    【讨论】:

      【解决方案4】:

      我几乎可以肯定 this.id 在这个上下文中不存在

      $.get("/models/"+this.id+"/viewmodelinfo/", function(data)
      

      this.id 应该是什么?能解释一下吗

      【讨论】:

        猜你喜欢
        • 2013-10-30
        • 1970-01-01
        • 1970-01-01
        • 2016-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-13
        • 1970-01-01
        相关资源
        最近更新 更多