Попробуйте использовать это.
$('#red').on('click', function() {
var colorId = $(this).attr("id");
$.ajax({"url": "tables.php", "data": {"color" : colorId}, success: function(response) {
response = Number(response)
response = response.toFixed(0)
$("#redr").text(response);
console.log(response);
});
});
Используется .text()
вместо .html()
. И это превращает возможный пустой ответ от вашей веб-конечной точки php в фактическое число.
Я использовал две строки кода для этого из-за научного проекта в средней школе Редмонда, известного как Inte rnet Explorer. Вот что делают эти строки:
Возможно, в обратный вызов ajax можно ввести, что response
является действительным числом, или текстовой строкой, содержащей число, или пустой текстовой строкой, или нулевым значением. response = Number(response)
заставляет его быть числом. В пустых или нулевых случаях число выходит на ноль.
Вторая строка response = response.toFixed(0)
преобразует число обратно в текстовую строку с нулевыми цифрами после десятичной точки.
Затем, давая эта текстовая строка для .text(response)
помещает ее на вашу веб-страницу в соответствующем месте.
Если бы не Inte rnet Explorer, вы могли бы сделать
... .text(Number(response).toFixed(0))
все в одном линия. Но IE не может справиться с использованием метода .toFixed()
ни с чем, кроме фактически объявленной переменной. Кроме того, дополнительные строки немного легче объяснить.
Pro tip Всегда делайте отступ в своем коде.