#jquery #html #ajax #json
#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. Запустите firebug и посмотрите, что он показывает.
2. В ваших
строках отсутствуют
$('#printout').text
сочетания строк.3. Вместо использования,
alert()
которое блокирует, рассмотрите возможность использованияconsole.log()
. Это приведет к записи в консоль Firebug или консоль Chrome JavaScript. Не уверен насчет поддержки других браузеров.
Ответ №1:
Ваш код содержит синтаксические ошибки.
$('#printout').text("Roll - " data.roll
"nArmor - " data.armor
"nPrice - " data.price);
должно быть
$('#printout').text("Roll - " data.roll
"nArmor - " data.armor
"nPrice - " data.price);
Кстати, проверка консоли ошибок тоже показала бы это — обычно это полезно сделать, прежде чем задавать вопросы здесь. 😉
Комментарии:
1. 74% — это нормально, это <20%, о которых я беспокоюсь: D