jQuery - 这里的错误是什么?

时间:2011-04-19 22:58:33

标签: jquery html ajax json

我正在使用jQuery的.get()函数,我使用它时遇到了一个非常奇怪的问题。

这是前端...

<body>

<button title="minor">Minor Armor</button>
<br /><br />
<button title="medium">Medium Armor</button>
<br /><br />
<button title="major">Major Armor</button>
<br /><br />
<center>
    <div id="printout" style="border: 1px black dotted; height: 300px; width: 300px;">
    </div>
</center>

</body>

这是我正在尝试使用的功能......

$("button").click(function () {
            var v = "dnd_specific_armor_" + $(this).attr("title");
            alert(v + " was pressed.");
            $.get("randloot.php", { "table" : v }, function(data) {
                if(data.roll != 0) {    
                    alert(data.roll);
                    alert(data.armor);
                    alert(data.price);
                    $('#printout').text("Roll - " + data.roll
                                        "\nArmor - " + data.armor
                                        "\nPrice - " + data.price);
                }
                else
                    $('#printout').text("Oops");
            }, "json");
        });

按钮根本不会响应点击次数。警报窗口没有弹出,我的div框中什么都没有。根本没有回应。

有趣的是,如果我取出.get()部分并使用这个......

$("button").click(function () {
            var v = "dnd_specific_armor_" + $(this).attr("title");
            alert(v + " was pressed.");             
        });

然后它工作正常。

我正在尝试在Firefox 4中工作,我尝试拉起Java控制台(甚至没有显示)和错误控制台(没有报告任何错误)。所以我无法弄清楚到底出了什么问题。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您的代码包含语法错误。

                $('#printout').text("Roll - " + data.roll
                                    "\nArmor - " + data.armor
                                    "\nPrice - " + data.price);

应该是

                $('#printout').text("Roll - " + data.roll +
                                    "\nArmor - " + data.armor +
                                    "\nPrice - " + data.price);

顺便说一句,检查错误控制台也会显示这一点 - 在此之前询问通常是一件好事。 ;)